上一章介紹的是如何安裝Redis以及在Redis用戶端上進行簡單測試,但是我們一般安裝完Redis之後,都是要結合程式設計語言對其進行應用的,hiredis是redis開源庫對外釋出的用戶端API包,這一章将講解如何安裝hiredis以及編寫簡單的測試程式進行測試。
首先進入hiredis官網進行包的下載下傳:
進入到下載下傳頁面,點選最新版本的tar.gz包進行下載下傳,接下來的過程和安裝Redis完全一樣
1、解壓:tar -zxvf hiredis-0.13.3.tar.gz
2、編譯:make
3、安裝:make install
4、建立一個檔案夾RedisTest:mkdir RedisTest
5、建立一個RedisTest.c檔案:vim RedisTest.c
6、在此檔案中輸入相關代碼:
#include <stdio.h>
#include <hiredis/hiredis.h>
int main()
{
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");
freeReplyObject(reply);
reply = redisCommand(conn,"get foo");
printf("%s\n",reply->str);
freeReplyObject(reply);
redisFree(conn);
return 0;
}
官網上面也有較為詳細的教程:
執行編譯指令:gcc -o RedisTest RedisTest.c -L/usr/local/lib/ -lhiredis
得到可運作檔案RedisTest,輸入指令:./RedisTest,運作該檔案得到結果:1234
如果遇到:error while loading shared libraries: libhiredis.so.0.13: cannot open shared object file: No such file or directory這樣的錯誤,即動态庫無法加載,我們可以這樣做:
1、在/etc/ld.so.conf.d/目錄下添加usr-libs.conf檔案:vim /etc/ld.so.conf.d/usr-libs.conf
2、在檔案中添加内容:/usr/local/lib
3、退出文本編譯::wq
4、更新動态庫配置:/sbin/ldconfig
補:如果是在eclipse平台進行代碼編譯與運作,那麼上述測試代碼在編譯階段可能出現如下錯誤:
隻要把代碼:
替換成:
就可以了
如果出現如下錯誤:
undefined reference to `redisConnect'
undefined reference to `redisCommand'
undefined reference to `freeReplyObject'
undefined reference to `redisCommand'
undefined reference to `freeReplyObject'
undefined reference to `redisFree'
則右鍵項目->Properties->C/C++ Build->Settings->Tool Settings->Libraries,添加Libraries:
在彈出視窗輸入hiredis并确定
操作完成之後,目錄下出現hiredis庫:
重新編譯之後,編譯成功:
運作得到結果:1234