1. 開發環境
- 適用linux操作系統(本次環境在樹莓派上使用測試通過)
- 已經安裝redis服務端
2. C語言redis庫-hiredi安裝配置
2.1 下載並且解壓hiredis
wget https://github.com/redis/hiredis/archive/master.zip
unzip master.zip
cd hiredis-master/
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成功