Redis安装及C++调用redis

一、Redis现在及安装

下载网址:http://redis.io/download

下载方式:

wget http://download.redis.io/releases/redis-2.8.3.tar.gz

下载不同的版本,可以通过更改后面的版本号来下载

然后执行:

$ tar xzf redis-2.8.3.tar.gz
$ cd redis-2.8.3
$ make

这样你就可以在src文件下得到redis-server和redis-cli两个文件


二、Redis本机配置

1.如果是root用户可以在utils中执行 sh install_server.sh即可,注:该目录在高版本才有

2.如果不是root用户,执行

mkdir -p /usr/local/redis/bin & mkdir -p /usr/local/redis/conf & mkdir -p /usr/local/redis/log

在Redis解压目录下执行

cp ./src/redis-server ./src/redis-cli /usr/local/redis/bin/

cp redis.conf  /usr/local/redis/conf

将/usr/local/redis/bin加入到PATH中:方法PATH=$PATH:/usr/local/redis/bin


三、运行Redis服务

  1. 拷贝redis.conf

  2. cd /usr/local/redis/conf

  3. cp redis.conf redis.conf.bak && cp redis.conf redis16379.conf && cp redis.conf redis16380.conf

  4. 更改redis.conf,其中daemonize是否作为守护进行,开启,改为yes;更改port为你需要值(也可不该)

  5. 在/usr/local/bin目录下执行:./redis-server ../conf/redis16379.conf

  6. 查看连接状态:redis-cli -h localhost -p 16379  最后的16379 即是刚才的port部分

  7. 成功后会出现redis local:16379>的形式

  8. 输入shutdown退出,或者ctrl+d



四、在C/C++程序中调用redis

示例:

#include <stdio.h>

#include <stdlib.h>

#include <stddef.h>

#include <stdarg.h>

#include <string.h>

#include <assert.h>

#include <hiredis.h>


void doTest()

{

  int timeout = 10000;

  struct timeval tv;

  tv.tv_sec = timeout/1000;

  tv.tv_usec = timeout*1000;

  redisContext *c = redisConnect((char*)"127.0.0.1",16379);

  if (c->err)

    {

      redisFree(c);

      return;

    }

}


int main()

{

  doTest();

  return 0;

}

保存为conRedis.cpp文件

然后编译,编译需要头文件目录,依赖库目录,位于redis-2.8.3目录下的deps/hiredis目录中

g++ conRedis.cpp -o test -I./deps/hiredis/ -L./deps/hiredis/ -lhiredis    (即是调用libhiredis.a库)

按以上步骤操作,恭喜你成功了!


五、自己的一些见解

在源程序中redisFree与freeRedisObject后指针没有赋值给NULL,编程一个野指针,当你两个调用redisFree或freeRedisObject时会出现中断的执行的情况,可以重新定义函数

void free_redis_con()

{

    redisFree(c);

    c = NULL;

}

对freeRedisObject也是相同的原理,这样在下次释放的时候可以通过判定if (c == NULL)来判定,是否已经释放过,也可以在编译redis的时候在源程序中更改,文件(hiredis.c).


六、redis命令参考


http://redis.readthedocs.org/en/latest/

这个网站关于redis的命令很详细

http://blog.csdn.net/wenchao126/article/details/8015957

这篇博客介绍了在程序中使用redis

http://www.cnblogs.com/stephen-liu74/archive/2012/03/15/2398249.html

这篇博客关于redis在程序中方法更详细

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值