]>
Commit | Line | Data |
---|---|---|
1 | #include <stdio.h> | |
2 | #include <stdlib.h> | |
3 | #include <string.h> | |
4 | ||
5 | #include "hiredis.h" | |
6 | ||
7 | int main(void) { | |
8 | unsigned int j; | |
9 | redisContext *c; | |
10 | redisReply *reply; | |
11 | ||
12 | struct timeval timeout = { 1, 500000 }; // 1.5 seconds | |
13 | c = redisConnectWithTimeout((char*)"127.0.0.2", 6379, timeout); | |
14 | if (c->err) { | |
15 | printf("Connection error: %s\n", c->errstr); | |
16 | exit(1); | |
17 | } | |
18 | ||
19 | /* PING server */ | |
20 | reply = redisCommand(c,"PING"); | |
21 | printf("PING: %s\n", reply->str); | |
22 | freeReplyObject(reply); | |
23 | ||
24 | /* Set a key */ | |
25 | reply = redisCommand(c,"SET %s %s", "foo", "hello world"); | |
26 | printf("SET: %s\n", reply->str); | |
27 | freeReplyObject(reply); | |
28 | ||
29 | /* Set a key using binary safe API */ | |
30 | reply = redisCommand(c,"SET %b %b", "bar", 3, "hello", 5); | |
31 | printf("SET (binary API): %s\n", reply->str); | |
32 | freeReplyObject(reply); | |
33 | ||
34 | /* Try a GET and two INCR */ | |
35 | reply = redisCommand(c,"GET foo"); | |
36 | printf("GET foo: %s\n", reply->str); | |
37 | freeReplyObject(reply); | |
38 | ||
39 | reply = redisCommand(c,"INCR counter"); | |
40 | printf("INCR counter: %lld\n", reply->integer); | |
41 | freeReplyObject(reply); | |
42 | /* again ... */ | |
43 | reply = redisCommand(c,"INCR counter"); | |
44 | printf("INCR counter: %lld\n", reply->integer); | |
45 | freeReplyObject(reply); | |
46 | ||
47 | /* Create a list of numbers, from 0 to 9 */ | |
48 | reply = redisCommand(c,"DEL mylist"); | |
49 | freeReplyObject(reply); | |
50 | for (j = 0; j < 10; j++) { | |
51 | char buf[64]; | |
52 | ||
53 | snprintf(buf,64,"%d",j); | |
54 | reply = redisCommand(c,"LPUSH mylist element-%s", buf); | |
55 | freeReplyObject(reply); | |
56 | } | |
57 | ||
58 | /* Let's check what we have inside the list */ | |
59 | reply = redisCommand(c,"LRANGE mylist 0 -1"); | |
60 | if (reply->type == REDIS_REPLY_ARRAY) { | |
61 | for (j = 0; j < reply->elements; j++) { | |
62 | printf("%u) %s\n", j, reply->element[j]->str); | |
63 | } | |
64 | } | |
65 | freeReplyObject(reply); | |
66 | ||
67 | return 0; | |
68 | } |