主題redis
資料庫c++
今天,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"
intmain
() 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++和rm之前都是乙個tab鍵。g++ redis.cpp -o redis -l/usr/local/lib/ -lhiredis
clean:
rm redis.o redis
在編譯的時候需要加引數,假設檔案為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資料庫
今天,mayuyu來學習如何用c 來操作redis資料庫。通過hiredis.h介面來實現,目前只能在linux環境使用。主要包括如下四個方法 1.rediscontext redisconnect const char ip,int port 該函式用來連線redis資料庫,兩個引數分別是redi...
Redis資料庫操作
1.終端連線redis的命令redis cli h ip address linux系統下可通過ifconfig檢視ip address資訊2.在連線後選擇redis庫select number number是redis庫的編號3.檢視redis庫的keys資訊keys 4.減少redis庫連線次數...