天天看點

Linux 下的hiredis的簡單安裝、測試*(轉)

上一章介紹的是如何安裝Redis以及在Redis用戶端上進行簡單測試,但是我們一般安裝完Redis之後,都是要結合程式設計語言對其進行應用的,hiredis是redis開源庫對外釋出的用戶端API包,這一章将講解如何安裝hiredis以及編寫簡單的測試程式進行測試。

首先進入hiredis官網進行包的下載下傳:

Linux 下的hiredis的簡單安裝、測試*(轉)

進入到下載下傳頁面,點選最新版本的tar.gz包進行下載下傳,接下來的過程和安裝Redis完全一樣

Linux 下的hiredis的簡單安裝、測試*(轉)

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;
}
           

  

官網上面也有較為詳細的教程:

Linux 下的hiredis的簡單安裝、測試*(轉)

執行編譯指令: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平台進行代碼編譯與運作,那麼上述測試代碼在編譯階段可能出現如下錯誤:

Linux 下的hiredis的簡單安裝、測試*(轉)

隻要把代碼:

替換成:

就可以了

如果出現如下錯誤:

Linux 下的hiredis的簡單安裝、測試*(轉)
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:

Linux 下的hiredis的簡單安裝、測試*(轉)

在彈出視窗輸入hiredis并确定

Linux 下的hiredis的簡單安裝、測試*(轉)

操作完成之後,目錄下出現hiredis庫:

Linux 下的hiredis的簡單安裝、測試*(轉)

重新編譯之後,編譯成功:

Linux 下的hiredis的簡單安裝、測試*(轉)

運作得到結果:1234