redis系列 redis的連線

2021-06-19 21:23:51 字數 1520 閱讀 6345

redis 是完全開源免費的,遵守bsd協議,先進的key - value持久化產品。它通常被稱為資料結構伺服器,因為值(value)可以是 字串(string), 雜湊(map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等型別。

redis客戶端連線比較簡單,但日常中redis的使用和維護會有很多地方需要學習。本文只簡單介紹下常用函式。

//hiredis/hiredis.h

/* context for a connection to redis */

typedef struct rediscontext rediscontext;

/* this is the reply object returned by rediscommand() */

#define redis_reply_string 1

#define redis_reply_array 2

#define redis_reply_integer 3

#define redis_reply_nil 4

#define redis_reply_status 5

#define redis_reply_error 6

typedef struct redisreply redisreply;

rediscontext *redisconnectwithtimeout(const char *ip, int port, struct timeval tv);

void redisfree(rediscontext *c);

//issue a command to redis, null if error, otherwise reply

void *rediscommand(rediscontext *c, const char *format, ...);

/* function to free the reply objects hiredis returns by default. */

void freereplyobject(void *reply);

應用例項:

#include "hiredis/hiredis.h"

rediscontext* context = null;

redisreply* reply = null;

int retry = 0;

while (retry < 5)

redisreply* reply = (redisreply*)rediscommand(context, "%s", "set name john");

if (null == reply || reply == redis_reply_error)

cout << "ok" << endl;

} reply != null ? freereplyobject(reply):;

context != null ? redisfree(context):;

Redis系列 Redis集群搭建

在 usr local下建立redis資料夾 mkdir redis cd redis wget tar xzf redis 5.0.4.tar.gz cd redis 5.0.4 make prefix usr local redis install 將 redis trib.rb 複製到 usr...

Redis系列 (一)初識Redis

redis是由義大利人salvatore sanfilippo 網名 antirez 開發的一款記憶體快取記憶體資料庫。redis全稱為 remote dictionary server 遠端資料服務 redis 是乙個開源的,基於c語言編寫的 遵守bsd協議 支援網路互動 可基於記憶體也可持久化的...

Redis系列六 Redis事務

在redis事務中可以一次執行多個命令,本質是一組命令的集合。乙個事務中的所有命令都會序列化,按順序地序列化執行而不會被其它命令插入,不許加塞。乙個佇列中,一次性 順序性 排他性的執行一系列命令。case1 正常執行 執行exec全部成功 case2 放棄事務 執行discard case3 全體連...