今天,mayuyu來學習如何用c++來操作redis資料庫。通過hiredis.h介面來實現,目前只能在linux環境使用。
主要包括如下四個方法
1. rediscontext* redisconnect(const char *ip, int port)
該函式用來連線redis資料庫, 兩個引數分別是redis資料庫的ip和埠,埠號一般為6379。類似
的還提供了乙個函式,供連線超時限定,即
rediscontext* redisconnectwithtimeout(const char *ip, int port, timeval tv)。
2. void *rediscommand(rediscontext *c, const char *format...)
該函式用於執行redis資料庫中的命令,第乙個引數為連線資料庫返回的rediscontext,剩下的引數
為變參,如同c語言中的prinf()函式。
此函式的返回值為void*,但是一般會強制轉換為redisreply型別,以便做進一步的處理。
3. void freereplyobject(void *reply)
釋放rediscommand執行後返回的的redisreply所占用的記憶體。
4. void redisfree(rediscontext *c)
釋放redisconnect()所產生的連線。
接下來就是就讓mayuyu來教大家如何安裝hiredis吧!
接下來把libhiredis.so放到/usr/local/lib/中,把hiredis.h放到/usr/local/inlcude/hiredis/中。
或者直接用命令make install配置。如下圖
接下來在程式中就可以直接用了。在程式中包含#include即可。
為了操作方便,一般情況下我們需要寫乙個標頭檔案類,這個類的方法根據自己專案需要適當新增。如下
**:redis.h
#ifndef _redis_h_
#define _redis_h_
#include #include #include #include #include class redis
~redis()
bool connect(std::string host, int port)
return 1;
} std::string get(std::string key)
void set(std::string key, std::string value)
private:
rediscontext* _connect;
redisreply* _reply;
};#endif //_redis_h_
redis.cpp
#include "redis.h"
int main()
r->set("name", "mayuyu");
printf("get the name is %s\n", r->get("name").c_str());
delete r;
return 0;
}
makefile檔案
redis: redis.cpp redis.h
g++ redis.cpp -o redis -l/usr/local/lib/ -lhiredis
clean:
rm redis.o redis
注意在g++和rm之前都是乙個tab鍵。
在編譯的時候需要加引數,假設檔案為redis.cpp,那麼編譯命令如下
g++ redis.cpp -o redis -l/usr/local/lib/ -lhiredis
在執行的時候如果出現動態庫無法載入,那麼需要進行如下配置
在/etc/ld.so.conf.d/目錄下新建檔案usr-libs.conf,內容是:/usr/local/lib
如下圖所示
然後使用命令/sbin/ldconfig更新一下配置即可。
C 操作Redis資料庫
今天,mayuyu來學習如何用c 來操作redis資料庫。通過hiredis.h介面來實現,目前只能在linux環境使用。主要包括如下四個方法 1.rediscontext redisconnect const char ip,int port 該函式用來連線redis資料庫,兩個引數分別是redi...
C 操作Redis資料庫
主題redis 資料庫c 今天,mayuyu來學習如何用c 來操作redis資料庫。通過hiredis.h介面來實現,目前只能在linux環境使用。主要包括如下四個方法 1.rediscontext redisconnect const char ip,int port 該函式用來連線redis資料...
Redis資料庫操作
1.終端連線redis的命令redis cli h ip address linux系統下可通過ifconfig檢視ip address資訊2.在連線後選擇redis庫select number number是redis庫的編號3.檢視redis庫的keys資訊keys 4.減少redis庫連線次數...