hiredis
是redis資料庫的簡約c客戶端庫。它是簡約的,因為它只是增加了對協議的最小支援,但是同時它使用了乙個高階別的 printf-like api,所以對於習慣了 printf 風格的c程式設計使用者來說,其非常容易使用,而且api中沒有明確的繫結每個 redis 命令。
github:
編譯安裝:
$ git clone [email protected]:redis/hiredis.git
$ cd hiredis
$ make
$ make install
下面是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 /usr/local/include/hiredis
cp -ppr adapters/*.h /usr/local/include/hiredis/adapters
cp -ppr libhiredis.so /usr/local/lib/libhiredis.so.0.13
cd /usr/local/lib && ln -sf libhiredis.so.0.13 libhiredis.so
cp -ppr libhiredis.a /usr/local/lib
mkdir -p /usr/local/lib/pkgconfig
cp -ppr hiredis.pc /usr/local/lib/pkgconfig
cp libhiredis.so /usr/lib64 /usr/lib
若是32系統只需要執行:
cp libhiredis.so /usr/lib
/sbin/ldconfig
ldconfig
命令的用途主要是在預設搜尋目錄/lib
和/usr/lib
以及動態庫配置檔案/etc/ld.so.conf
內所列的目錄下,搜尋出可共享的動態鏈結庫(格式如lib*.so*
),進而建立出動態裝入程式(ld.so
)所需的連線和快取檔案。快取檔案預設為/etc/ld.so.cache
,此檔案儲存已排好序的動態鏈結庫名字列表,為了讓動態鏈結庫為系統所共享,需執行動態鏈結庫的管理命令ldconfig
,此執行程式存放在/sbin目錄下。
ldconfig
通常在系統啟動時執行,而當使用者安裝了乙個新的動態鏈結庫時,就需要手工執行這個命令。
test.c
#include #include int main()
然後:
$ gcc test.c -o test -lhiredis
編譯是一定要使用-l
連線動態庫。
執行:-lstack
告訴編譯器要鏈結lhiredis
庫。
$ ./test
1234
rediscontext *redisconnect(const char *ip, int port)
該函式返回乙個結構體rediscontext
。
void *rediscommand(rediscontext *c, const char *format, ...);
說明:該函式執行命令,就如sql資料庫中的sql語句一樣,只是執行的是redis
資料庫中的操作命令,第乙個引數為連線資料庫時返回的rediscontext
,剩下的引數為變參,就如c標準函式printf
函式一樣的變參。
返回值為void*
,一般強制轉換成為redisreply
型別的進行進一步的處理。
void freereplyobject(void *reply);
說明:釋放rediscommand
執行後返回的redisreply
所占用的記憶體。
void redisfree(rediscontext *c);
說明:釋放redisconnect()
所產生的連線。
1、redis:安裝、配置、操作和簡單**例項(c語言client端) - csdn部落格
2、c語言訪問redis(hiredis) - csdn部落格
3、error while loading shared libraries問題解決 - csdn部落格
4、ldconfig命令_linux ldconfig 命令用法詳解:動態鏈結庫管理命令
C語言通過Hiredis訪問redis資料庫
c語言訪問redis資料庫 準備hiredis庫 centos7或8 hiredis 0.11.0.tar.gz yum install redis 安裝hiredis庫 解壓hiredis壓縮包 tar zcvf hiredis 0.11.0.tar.gz 在hiredis根目錄執行 make m...
使用c語言訪問mysql
用c語言連線mysql資料庫包含兩個步驟 1.初始化乙個鏈結控制代碼結構 2.實際進行連線 首先,使用mysql init來初始化連線控制代碼 include mysql mysql init mysql 通常你傳遞null給這個例程,它會返回乙個指向新分配的連線控制代碼結構的指標。如果你傳遞乙個已...
R語言 R呼叫C 程式
今天mayuyu學習了如何利用r語言來呼叫c 程式。為什麼要這麼多呢?因為r語言雖然方便,但是計算太慢了,尤其是在迴圈語句方面的使用,r語言簡直是無法忍受,所以在r語言中為了提高速度,必要時候還得改用c 來實現。在r語言中要呼叫c 是通過rcpp這個包來實現的。所以要先安裝rcpp這個包咯!安裝完成...