redis客户端
我是下载的hiredis~~~~·哎,先用别人的吧
等做进去了,自己在封装一个。
下面是我写的一个测试例子。
#include "hiredis.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
using namespace std;
void print(redisReply * reply)
{
//cout<<reply->type<<endl;
cout<<reply->integer<<endl;
//cout<<reply->len<<endl;
//cout<<reply->str<<endl;
//cout<<reply->elements<<endl;
}
int main()
{
unsigned int j;
redisContext *c;
redisReply *reply;
struct timeval timeout = { 1, 500000 }; // 1.5 seconds
c = redisConnectWithTimeout((char*)"127.0.0.2", 6379, timeout);
//test set
reply = (redisReply *)redisCommand(c,"SET %s %s", "foo", "hello world");
cout<<"test set------------------------------"<<endl;
print(reply);
freeReplyObject(reply);
//test get
reply = (redisReply *)redisCommand(c,"GET %s","foo");
cout<<"test get------------------------------"<<endl;
print(reply);
freeReplyObject(reply);
//test list
reply = (redisReply*)redisCommand(c,"RPUSH %b %b","book",strlen("book"),"the language c++",strlen("the language c++"));
cout<<"test list add1---------------------------------"<<endl;
print(reply);
cout<<"22222";
freeReplyObject(reply);
cout<<"33333";
reply = (redisReply*)redisCommand(c,"RPUSH %s %s","book","thinking in c++");
cout<<"test list add2---------------------------------"<<endl;
print(reply);
freeReplyObject(reply);
cout<<"test get list result"<<endl;
reply = (redisReply*)redisCommand(c,"lrange %s %d %d","book",0,-1);
for(int i=0;i<reply->elements;i++)
{
cout<<"get list:"<<reply->element[i]->str<<endl;
}
freeReplyObject(reply);
cout<<"test erase list item"<<endl;
reply = (redisReply*)redisCommand(c,"lrem %s 0 %s","book","thinking in c++");
print(reply);
cout<<"endl"<<endl;
return 0;
}
/* This is the reply object returned by redisCommand() */
typedef struct redisReply {
int type; /* REDIS_REPLY_* */
long long integer; /* The integer when type is REDIS_REPLY_INTEGER */
int len; /* Length of string */
char *str; /* Used for both REDIS_REPLY_ERROR and REDIS_REPLY_STRING */
size_t elements; /* number of elements, for REDIS_REPLY_ARRAY */
struct redisReply **element; /* elements vector for REDIS_REPLY_ARRAY */
} redisReply;
浙公网安备 33010602011771号