redis程式設計 hredis

2021-07-05 02:24:05 字數 2231 閱讀 7943

from:

hiredis是redis資料庫的c介面,目前只能在linux下使用,幾個基本的函式就可以操作redis資料庫了。

函式原型:rediscontext *redisconnect(const char *ip, int port)

說明:該函式用來連線redis資料庫,引數為資料庫的ip位址和埠,一般redis資料庫的埠為6379

該函式返回乙個結構體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()所產生的連線。

下面用乙個簡單的例子說明:

#include #include #include #include #include #include #include "hiredis.h"

void dotest()

printf("connect to redisserver success\n");

const char* command1 = "set stest1 value1";

redisreply* r = (redisreply*)rediscommand(c, command1);

if( null == r)

if( !(r->type == redis_reply_status && strcasecmp(r->str,"ok")==0))

freereplyobject(r);

printf("succeed to execute command[%s]\n", command1);

const char* command2 = "strlen stest1";

r = (redisreply*)rediscommand(c, command2);

if ( r->type != redis_reply_integer)

int length = r->integer;

freereplyobject(r);

printf("the length of 'stest1' is %d.\n", length);

printf("succeed to execute command[%s]\n", command2);

const char* command3 = "get stest1";

r = (redisreply*)rediscommand(c, command3);

if ( r->type != redis_reply_string)

printf("the value of 'stest1' is %s\n", r->str);

freereplyobject(r);

printf("succeed to execute command[%s]\n", command3);

const char* command4 = "get stest2";

r = (redisreply*)rediscommand(c, command4);

if ( r->type != redis_reply_nil)

freereplyobject(r);

printf("succeed to execute command[%s]\n", command4);

redisfree(c); }

int main()

上面的**在redisclient.c檔案中,該檔案位於

hiredis-master資料夾下,採用gcc進行編譯:

gcc -o redisclient redisclient.c -l. libhiredis.a

編譯後的檔案輸出結果為:

python程式設計(redis操作)

1 安裝redis 安裝redis不複雜,乙個apt get命令就可以解決,sudo apt get install redis server 2 驗證redis是否已經安裝 ps aux grep redis 3 安裝python redis sudo apt get install python...

redis原始碼學習 程式設計技巧

巨集的用法 define version 6.0.1 define datetime datetime 將變數 s 以字串的形式輸出 define xstr s str s define str s s 使用巨集拼接字串 define echo str jemalloc xstr hello xst...

Python程式設計 redis快取資料庫

broker快取 mongodb 存硬碟 redis 預設存記憶體,配置可存硬碟 memcache 只能存記憶體 remote dictionary server redis redis官網 redis資料型別 string 操作 set get hash 操作 hset hget list 操作 ...