int main2(void) { unsigned int j; redisInit(); redisPing(); // Set a key redisRep = redisCommand(redisC,"SET %s %s", "foo", "hello world"); printf("SET: %s\n", redisRep->str); freeReplyObject(redisRep); // Set a key using binary safe API redisRep = redisCommand(redisC,"SET %b %b", "bar", 3, "hello", 5); printf("SET (binary API): %s\n", redisRep->str); freeReplyObject(redisRep); // Try a GET and two INCR redisRep = redisCommand(redisC,"GET foo"); printf("GET foo: %s\n", redisRep->str); freeReplyObject(redisRep); redisRep = redisCommand(redisC,"INCR counter"); printf("INCR counter: %lld\n", redisRep->integer); freeReplyObject(redisRep); // again ... redisRep = redisCommand(redisC,"INCR counter"); printf("INCR counter: %lld\n", redisRep->integer); freeReplyObject(redisRep); // Create a list of numbers, from 0 to 9 redisRep = redisCommand(redisC,"DEL mylist"); freeReplyObject(redisRep); for (j = 0; j < 10; j++) { char buf[64]; snprintf(buf,64,"%d",j); redisRep = redisCommand(redisC,"LPUSH mylist element-%s", buf); freeReplyObject(redisRep); } // Let's check what we have inside the list redisRep = redisCommand(redisC,"LRANGE mylist 0 -1"); if (redisRep->type == REDIS_REPLY_ARRAY) { for (j = 0; j < redisRep->elements; j++) { printf("%u) %s\n", j, redisRep->element[j]->str); } } freeReplyObject(redisRep); return 0; }
Redis *redisNew(RedisStartupInfo *info) { Redis *self; if ((self = calloc(1, sizeof(Redis))) == NULL) { return NULL; } if (!redisInit (self, info)) { redisDestroy (&self); error("Redis failed to initialize."); return NULL; } return self; }