我们都知道redis有redis-server和redis-cli, 但是对与服务器程序,我们一般是想在代码里面想redis缓存写数据.

这该怎么办呢? 


很幸运的是, redis给我们提供了一个工具hiredis,我们可以借助该工具向redis写数据, 并可以通过redis-cli读取出来.


1.  下载hiredis

若未下载redis,可根据参考1下载redis源码包,该包里面已经包括了hiredis

若已经下载了redis,  可根据参考2的地址, 直接下载hiredis


2. 编译hiredis

在CentOS下,一般只要make, make install就OK了.

这里说明下, make install会将编译的部分头文件和.a .so库拷贝到/usr/local/include和/usr/local/lib里面


3. 编译例子程序

hiredis压缩包解压缩后的文件夹example里面有一个example.c

使用:  gcc example.c -o example -L/usr/local/lib -lhiredis

生成可执行文件example


4. libhiredis.so.0.12 not found错误

只是因为系统默认不搜寻/usr/local/lib里面的库

根据参考3, 需要手动修改下.


# cd /etc

# vi /etc/ld.so.conf

将libhiredis.so.0.12的路径加到ld.so.conf文件最后一行就OK了


同理也需要修改系统默认搜寻的include路径(见参考5)

修改/etc/profile, 并在末尾加入以下内容

export C_INCLUDE_PATH="/usr/local/include"

export LIBRARY_PATH="usr/local/lib"


5. 验证

example.c会向redis里面写一个key值为foo的字符串

打开redis-cli

127.0.0.1:6379> get foo

"hello world"


成功了...







参考:

1. http://redis.io/download

2. https://github.com/redis/hiredis

3. http://www.cnblogs.com/xudong-bupt/p/3698294.html

4. http://www.cnblogs.com/lpshou/p/3167396.html

5. http://blog.chinaunix.net/uid-2270658-id-315069.html

Logo

更多推荐