c/c++使用redis
生活随笔
收集整理的這篇文章主要介紹了
c/c++使用redis
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
c/c++使用redis
- hiredis
- 1、安裝hiredis
- 2、接口介紹
- c程序操作Redis代碼
hiredis
hiredis是Redis官方推薦的基于C接口的客戶端組件,它提供接口,供c語言調用以操作數據庫。
1、安裝hiredis
進入Redis的源碼包的deps/hiredis
make
make install
ldconfig #使動態庫在系統中更新生效
2、接口介紹
#include <hiredis/hiredis.h>// 該函數用來連接redis數據庫,參數為ip地址和端口號,默認端口6379.該函數返回一個redisContext對象 redisContext *redisConnect(const char *ip, int port);// 該函數執行redis命令,返回redisReply對象 void *redisCommand(redisContext *c, const char *format, ...);// 釋放redisCommand執行后返回的RedisReply對象 void freeReplyObject(void *reply);// 斷開redisConnect所產生的連接 void redisFree(redisContext *c);//redisReply對象結構如下: typedef struct redisReply {int type; // 返回結果類型long long integer; // 返回類型為整型的時候的返回值size_t len; // 字符串的長度char *str; // 返回錯誤類型或者字符串類型的字符串size_t elements; // 返回數組類型時,元素的數量struct redisReply **element; // 元素結果集合 }redisReply;// 返回類型有一下幾種: REDIS_REPLY_STRING 1 //字符串 REDIS_REPLY_ARRAY 2 //數組,多個reply,通過element數組以及elements數組大小訪問 REDIS_REPLY_INTEGER 3 //整型 REDIS_REPLY_NIL 4 //空,沒有數據 REDIS_REPLY_STATUS 5 //狀態,str字符串以及len REDIS_REPLY_ERROR 6 //錯誤,同STATUSc程序操作Redis代碼
#include <stdio.h> #include <stdlib.h> #include <assert.h> #include <hiredis/hiredis.h>int main() {redisContext * rc = redisConnect("127.0.0.1",6379);assert(rc != NULL);char* com = "hmset user name jack age 18 sex male height 180";redisReply* res =(redisReply*)redisCommand(rc,com);if(res->type == REDIS_REPLY_STATUS){printf("Success %s\n",res->str);}else printf("fail\n");com = "hgetall user";res = (redisReply*)redisCommand(rc,com);if(res->type == REDIS_REPLY_ARRAY){for(int i = 0; i < res->elements; i++){if(i%2 != 0)printf("%s\n",res->element[i]->str);elseprintf("%s",res->element[i]->str);}}else if(res->type == REDIS_REPLY_STRING){printf("%s",res->str);}freeReplyObject(res);redisFree(rc);return 1; }總結
以上是生活随笔為你收集整理的c/c++使用redis的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分析静态网页客户服务器工作过程,(静态网
- 下一篇: s3c2440移植MQTT