1. 开发环境
- 适用linux操作系统(本次环境在树莓派上使用测试通过)
- 已经安装redis服务端
2. C语言redis库-hiredi安装配置
2.1 下载并且解压hiredis
wget https://github.com/redis/hiredis/archive/master.zip
(上面链接下载的是hiredis最新版本,本版本用的是ibhiredis.so.0.14,所以要上https://github.com/redis中找到对应的版本)
unzip master.zip
cd hiredis-0.14.0/
2.2 hiredis安装
sudo make
sudo make install
mkdir -p /usr/local/include/hiredis /usr/local/include/hiredis/adapters /usr/local/lib
cp -pPR hiredis.h async.h read.h sds.h sslio.h /usr/local/include/hiredis
cp -pPR adapters/*.h /usr/local/include/hiredis/adapters
cp -pPR libhiredis.so /usr/local/lib/libhiredis.so.0.14
cd /usr/local/lib && ln -sf libhiredis.so.0.14 libhiredis.so
cp -pPR libhiredis.a /usr/local/lib
mkdir -p /usr/local/lib/pkgconfig
cp -pPR hiredis.pc /usr/local/lib/pkgconfig
看到这里就装在成功了
3. hiredis简单测试
vim test.c
#include <stdio.h>
#include <hiredis/hiredis.h>
int main()
{
redisContext* conn = redisConnect("127.0.0.1", 6379);
if(conn->err) printf("connection error:%s\n", conn->errstr);
redisReply* reply = redisCommand(conn, "set foo 1234");
freeReplyObject(reply);
reply = redisCommand(conn, "get foo");
if (reply->type == 1)//获取到了数据
{
printf("%s\n", reply->str);
}
freeReplyObject(reply);
redisFree(conn);
return 0;
}
编译:
gcc test.c -o test -lhiredis
运行:
./test
报错:
error while loading shared libraries: libhiredis.so.0.14: cannot open shared object file: No such file or directory
4. 运行出错解决办法
- sudo mkdir /usr/lib/hiredis
- sudo cp /usr/local/lib/libhiredis.so.0.14 /usr/lib/hiredis/
- sudo mkdir /usr/include/hiredis
- sudo cp /usr/local/include/hiredis/hiredis.h /usr/include/hiredis/
5. 验证
5.1 运行程序
./test
输出1234
5.2 redis客户端验证
运行redis-cli
127.0.0.1:6379> get foo
"1234"
若显示“1234”代表安装hiredis成功