C 呼叫redis緩衝

Rocky_Ansi發表於2016-12-25

下載 redis 檔案, 進行編譯  

  wget https://github.com/redis/hiredis/archive/master.zip

    將其解壓, 並編譯

    unzip -x  master.zip

    make && make install

載入進行簡單測試:
redis-server 載入redis.conf  配置檔案 
發現c程式執行命令為 get foo   ;; 可以將redid-cli  連線進入  keys * ; set foo 12 
發現程式執行之後 取出資料 為foo  —> 12 說明執行正確;
  
testredis.c

#include <stdio.h>
#include <stdlib.h>
#include <hiredis/hiredis.h>

/*
* 請求 redis網路快取伺服器記憶體.
*/

int main(int argc, char* argv[]) {
    redisContext *conn = redisConnect("127.0.0.1", 6379);
    if(NULL == conn) {
        fprintf(stderr, "redisConnect 127.0.0.1:6379 error!\n");
        exit(EXIT_FAILURE);
    }   
    if(conn->err) {
        fprintf(stderr, "redisConect error:%d\n", conn->err);
        redisFree(conn);
        exit(EXIT_FAILURE);
    }   

    // 這裡redisConnect 連結物件建立完畢了
    redisReply *reply = redisCommand(conn, "get foo");
    if(reply && reply->type == REDIS_REPLY_STRING) {
        printf("get foo => %s\n", reply->str);
    }   
    printf("reply->type = %d\n", reply->type);

    // 釋放這個物件
    freeReplyObject(reply);
    // 釋放hiredis 上下文物件   
    redisFree(conn);

    return 0;
}

    

  

Makefile 檔案編譯;
 
testredis:testredis.c
     gcc -g -Wall -o  testredis testredis.c -lhiredis 

 

make && ./testredis 

檢視結果;

 

相關文章