1、下载

http://redis.io/

2、安装

tar -zxvf redis-2.8.19.tar.gz

make

make install

3、修改配置

创建路径

mkdir -p /etc/redis

复制配置文件

cp redis.conf /etc/red

redis.conf

daemonize yes###后台启动

 

pidfile

当Redis在后台运行的时候,Redis默认会把pid文件放在/var/run/redis.pid,你可以配置到其他地址。当运行多个redis服务时,需要指定不同的pid文件和端口。

 

4、客户端连接

[root@rac1 ~]# redis-cli
127.0.0.1:6379>

远程连接:

redis-cli -h host -p port -a password

 例如:

redis-cli -h 127.0.0.1 -p 6379 -a "mypass"

 

5、客户端测试

服务器启动
[root@rac1 redis-2.8.19]# redis-server  /etc/redis/redis.conf

客户端连接
[root@rac1 ~]# redis-cli 
127.0.0.1:6379> set name zhaoja
OK
127.0.0.1:6379> get name
"zhaoja"
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> exists name
(integer) 0

  

  

  

 6、c接口

下载

https://github.com/redis/hiredis

解压

unzip hiredis-master.zip 

安装

make

make install

 

例子:

#include <stdio.h> 
#include "hiredis.h"
int main() 
{ 
    //连接hiredis服务器
     redisContext *conn  = redisConnect("127.0.0.1",6379); 
     if(conn != NULL && conn->err) 
     {   
         printf("connection error: %s\n",conn->errstr); 
         return 0; 
     }   
    //发送命令至服务器
     redisReply *reply = (redisReply*)redisCommand(conn,"set foo 1234"); 
     //关闭Reply对象
     freeReplyObject(reply); 
             
     reply = redisCommand(conn,"get foo"); 
     printf("%s\n",reply->str); 
     freeReplyObject(reply); 
     //关闭连接      
     redisFree(conn); 
     return 0; 
}

  

  

编译:

gcc  test.c -o Test -lhiredis -I/usr/local/soft/hiredis-master

 

7、问题:

1、报错:

/usr/local/soft/hiredis-master/hiredis.h:158: error: expected identifier or ‘(’ before numeric constant

 

这个文件是源代码里的,查看代码为:

struct {
char *path;
} unix;

看着也没错,但是unix这个词是不是关键词,就把这个词给改了,结果错误消失。

 

2、

[root@rac1 redis-test]# ./Test
./Test: error while loading shared libraries: libhiredis.so.0.13: cannot open shared object file: No such file or directory

原因是:是动态库的问题,是系统找不到这个动态库,此时记住sudo /sbin/ldconfig以下,更新一下系统动态库配置。

 

posted on 2015-04-30 11:29  充实自己  阅读(343)  评论(0编辑  收藏  举报