c 访问 redis 存储类型

数据存储在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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值