c 访问 redis 存储类型

来源:互联网 发布:淘宝一天可以刷几单 编辑:程序博客网 时间:2024/06/07 05:41

数据存储在redis上有多种方式:

1.key形式

2.hash形式

3.list形式

4 string形式

5 set 形式

6 sortedSet(有序集合)

 

根据提供的接口,用class包装所以存储类型的接口

 

//oper_redis.h

#ifndef __OPER_REDIS_H

#define __OPER_REDIS_H

#include<xxxredis.h>

class OperRedis

{

        public:

              OperRedis();

               int redis_conn(char *host,int port);

               int redis_comm_get(char *cmd,char value);

               void redis_comm_set(char *cmd);

                void redis_free();

                void redis_close();
};

#endif

 

//oper_redis.cpp

#include<stdlib.h>

#include<string.h>

#include<xxxredis.h>

 

OperRedis::OperRedis()

{

           conn=NULL;

           reply=NULL;

}

int OperRedis::redis_conn(char *host,int port)

{

              conn=redisConnect(host,port);

               if(conn->err)

               {

                          printf("connection err:%s",conn->errstr);

                           return 0;

               }

               return 1;

}

int OperRedis::redis_comm_get(char *cmd,char *value)

{

        reply=(redisReply*)redisCommand(conn,cmd);

        if(1==reply->type)

               strncpy(value,reply->str,reply->len);

          return reply->type;

}

 

void OperRedis::redis_comm_set(char *cmd)

{

         reply=(redisReply *)redisCommand(conn,comm);

}

void OperRedi::redis_free()

{

         freeReplyObject(reply);

}

 

void OperRedis::redis_close()

{

          redisFree(conn);

}

 

//test_main.cpp

int main()

{

      OperRedis oprd;

       int ret=oprd.redis_conn("10.1.1.2",6379);

       if(0==ret)

        {

               printf("connect error!\n");

               retrn 0;

        }

         printf("connect success!\n");

         char  setcmd[]="set   test    123";

         oprd.redis_comm_set(setcmd);

           oprd.redis_free();

           char getcmd[]="get test";

           char value[64]={'\0'};

         ret=oprd.redi_comm_get(getcmd);

          if(1==ret)

                 printf("get value success");

           else

                   printf("no this key");

         oprd.redis_free();

         oper.redis_close();

      return 0;

}

 

setkey:可以是:HSET website google www.g.cn

通过组合setkey和getkey存储各类方式的数据
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 豹纹守宫鼻子还有个残皮怎么办 睫角守宫断尾怎么办 定金发票弄丢了怎么办 xp电脑显示输入不支持怎么办 月子见风怎么办暴雪将 老氏电视机出现雪花点怎么办 飞利浦电视显示雪花片怎么办 电视无信号出雪花怎么办 电视打开都是雪花没有电视台怎么办 电视视频1无信号怎么办 新买的电视无信号怎么办 卫星有信号没有视频怎么办 户户通没有信号怎么办视频 雪花泥粘衣服上怎么办 遗产按份额处分判决后怎么办 宝马后驱车下雪天怎么办 宝马后驱车路滑怎么办 车子陷入泥地里怎么办 深圳居住证签注过期了怎么办 手机不能播放视频乱码了怎么办 被加密的视频无法观看怎么办 苹果5忘记id密码怎么办 七个月宝宝脾胃不好怎么办 八个月宝宝脾虚怎么办 七个月宝宝脾胃虚怎么办 海岛奇兵点错了怎么办 螳螂的脚断了怎么办 海岛奇兵打不过玩家怎么办 海岛奇兵资源满了怎么办 海岛奇兵杯越来越多打不玩家怎么办 海岛奇兵控杯技巧 杯数太高怎么办 海岛奇兵发现求救信号怎么办 海岛奇兵被打了怎么办 小鱼翅卡喉咙了怎么办 鱼翅卡在喉咙里怎么办 斗鱼身份证被使用怎么办 做的鱼丸太腥了怎么办 做鱼丸太稀了怎么办 斗鱼手机号换了怎么办 斗鱼直播掉帧怎么办 手机一直卡顿点不动怎么办呢