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 全體連...