最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用redis-plus-plus庫(kù)連接redis的實(shí)現(xiàn)方法

 更新時(shí)間:2025年02月06日 11:33:52   作者:冧軒在努力  
本文主要介紹了使用redis-plus-plus庫(kù)連接redis的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、安裝redis-plus-plus

C++ 操作 redis 的庫(kù)有很多. 此處使? redis-plus-plus,因?yàn)檫@個(gè)庫(kù)的功能強(qiáng)?, 使?簡(jiǎn)單
下載地址

1.1安裝hiredis

redis-plus-plus 是基于 hiredis 實(shí)現(xiàn)的 ,hiredis 是?個(gè) C 語(yǔ)?實(shí)現(xiàn)的 redis 客?端 ,因此需要先安裝 hiredis. 直接使?包管理器安裝即可

Ubuntu:

sudo apt install libhiredis-dev

Centos:

sudo yum install hiredis-devel.x86_64

1.2編譯安裝redis-plus-plus

通過(guò)指令下載 redis-plus-plus 源碼

git clone https://github.com/sewenew/redis-plus-plus.git

如果連接不上可以點(diǎn)擊上面的下載地址,進(jìn)行下載壓縮包:

  • 點(diǎn)擊Code
  • 點(diǎn)擊Download ZIP下載

在這里插入圖片描述

將下載的壓縮包解壓一下:

unzip 文件名

Ubuntu可直接使用cmake構(gòu)建

#進(jìn)入解壓后獲取到的文件夾
cd redis-plus-plus
#創(chuàng)建build文件夾且進(jìn)入
mkdir build && cd build
#編譯生成makefile文件
cmake ..
#編譯源代碼
make
#安裝
sudo make install

如果是Centos,需要注意一下cmake版本,系統(tǒng)自帶的cmake版本較低,需要安裝cmake3

sudo yum install cmake3 -y

然后使? cmake3 構(gòu)建項(xiàng)? ,構(gòu)建步驟和上面的構(gòu)建步驟一致

安裝成功后,會(huì)在 /usr/local/include/ 中多出 sw ?錄, 并且內(nèi)部包含 redis-plus-plus 的?系列頭?件. 會(huì)在 /usr/local/lib/ 中多出?系列 libredis 庫(kù)?件

二、redis的連接使用

詳細(xì)的API:
Github 地址

源碼結(jié)構(gòu):

.
├── Makefile
└── src
    ├── generic.cc
    ├── list.cc
    ├── set.cc
    └── string.cc
1 directory, 5 files

使用makefile編譯時(shí)需要注意:由于不同系統(tǒng)中, 安裝好的庫(kù)所在位置會(huì)存在差異. 因此要注意?件路徑是否存在

test: test.cc
g++ -std=c++17 -o $@ $^ /usr/local/lib/libredis++.a /lib/x86_64-linux-gnu/libhiredis.a -pthread

2.1創(chuàng)建redis對(duì)象

//頭文件根據(jù)實(shí)際情況,可能路徑不同
#include<iostream>
#include<vector>
#include<string>
#include<hiredis/hiredis.h>
#include<sw/redis++/redis.h>
int main(){

    Redis redis("tcp://127.0.0.1:6379");//傳入url
    return 0;
}

2.2向redis中添加元素

一次添加單個(gè)元素

//添加元素
std::string key = "key";
std::string value = "hello";

bool b = redis.set(key, value);
//b = redis.set("mykey", "World", std::chrono::seconds(0),sw::redis::UpdateType::EXIST);
//b = redis.set("mykey", "World", std::chrono::milliseconds(0), sw::redis::UpdateType::NOT_EXIST);
std::cout << "set " << key << value << std::endl;
if(b){
    std::cout << " set OK" << std::endl;
}else{
    std::cout << "set failed" << std::endl;
}

一次添加多個(gè)元素

//批量添加元素
std::vector<std::pair<std::string,std::string>> v = {{"key","hello",},{"key1","world"},{"key2", "redis"}};
redis.mset(v.begin(),v.end());

2.3判斷元素是否存在

//判斷元素是否存在
std::string key = "key";
long long n = redis.exists(key);
std::cout &lt;&lt; "exists key" &lt;&lt; std::endl &lt;&lt; n &lt;&lt; std::endl;

2.4獲取元素

一次獲取一個(gè)元素

//獲取元素
sw::redis::OptionalString ret = redis.get(key);
std::cout << "redis<<< " << "get " << key << std::endl;
if(ret){
    std::cout << *ret << std::endl;
}else{
    std::cout << "nil" << std::endl;
}

一次獲取多個(gè)元素

//批量獲取元素
std::vector<sw::redis::OptionalString> values;
//創(chuàng)建插入迭代器
//std::insert_iterator<std::vector<sw::redis::OptionalString>> ret = std::inserter(values, values.begin());
std::insert_iterator<std::vector<sw::redis::OptionalString>> ni(values,values.begin());

redis.mget({"key", "key1", "key2"}, ni);

//輸出獲取到的元素
for(auto e : values){
    std::cout << *e << std::endl;
}

2.5設(shè)置獲取過(guò)期時(shí)間

設(shè)置過(guò)期時(shí)間:

//設(shè)置過(guò)期時(shí)間
std::string key = "key";
bool b = redis.expire(key,std::chrono::seconds(10));
if(b == false)std::cout << "expire failed" << std::endl;

獲取過(guò)期時(shí)間:

//獲取過(guò)期時(shí)間
long long s = redis.ttl(key);
std::cout << key << "的過(guò)期時(shí)間:" << s << std::endl;

2.6獲取類(lèi)型

//獲取當(dāng)前key的類(lèi)型
std::string type = redis.type(key);
std::cout << key << "類(lèi)型為:" << type << std::endl;

2.7 刪除當(dāng)前數(shù)據(jù)庫(kù)

redis.flushdb();

到此這篇關(guān)于使用redis-plus-plus庫(kù)連接redis的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)redis-plus-plus庫(kù)連接redis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Redis中常見(jiàn)的幾種集群部署方案

    Redis中常見(jiàn)的幾種集群部署方案

    本文主要介紹了Redis中常見(jiàn)的幾種集群部署方案,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Redis Cluster集群收縮主從節(jié)點(diǎn)詳細(xì)教程

    Redis Cluster集群收縮主從節(jié)點(diǎn)詳細(xì)教程

    集群收縮的源端就是要下線的主節(jié)點(diǎn),目標(biāo)端就是在線的主節(jié)點(diǎn),這篇文章主要介紹了Redis Cluster集群收縮主從節(jié)點(diǎn)詳細(xì)教程,需要的朋友可以參考下
    2021-11-11
  • 讓Redis在你的系統(tǒng)中發(fā)揮更大作用的幾點(diǎn)建議

    讓Redis在你的系統(tǒng)中發(fā)揮更大作用的幾點(diǎn)建議

    Redis在很多方面與其他數(shù)據(jù)庫(kù)解決方案不同:它使用內(nèi)存提供主存儲(chǔ)支持,而僅使用硬盤(pán)做持久性的存儲(chǔ);它的數(shù)據(jù)模型非常獨(dú)特,用的是單線程。另一個(gè)大區(qū)別在于,你可以在開(kāi)發(fā)環(huán)境中使用Redis的功能,但卻不需要轉(zhuǎn)到Redis
    2014-06-06
  • 解析Redis Cluster原理

    解析Redis Cluster原理

    redis最開(kāi)始使用主從模式做集群,若master宕機(jī)需要手動(dòng)配置slave轉(zhuǎn)為master;后來(lái)為了高可用提出來(lái)哨兵模式,該模式下有一個(gè)哨兵監(jiān)視master和slave,若master宕機(jī)可自動(dòng)將slave轉(zhuǎn)為master,但它也有一個(gè)問(wèn)題,就是不能動(dòng)態(tài)擴(kuò)充;所以在3.x提出cluster集群模式
    2021-06-06
  • redis發(fā)布訂閱模式的實(shí)現(xiàn)

    redis發(fā)布訂閱模式的實(shí)現(xiàn)

    本文主要介紹了redis發(fā)布訂閱模式,Redis?的?SUBSCRIBE?命令可以讓客戶端訂閱任意數(shù)量的頻道,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • Redis 基礎(chǔ)教程之事務(wù)的使用方法

    Redis 基礎(chǔ)教程之事務(wù)的使用方法

    這篇文章主要介紹了Redis 基礎(chǔ)教程之事務(wù)的使用方法的相關(guān)資料,Redis 事務(wù)可以一次執(zhí)行多個(gè)命令和保證,單獨(dú)的隔離操作和原子操作需要的朋友可以參考下
    2017-08-08
  • Redis?Brpop?命令作用詳解

    Redis?Brpop?命令作用詳解

    BRPOP?是一個(gè)阻塞的列表彈出原語(yǔ),該命令會(huì)按照給出的?key?順序查看?list,并在找到的第一個(gè)非空?list?的尾部彈出一個(gè)元素,今天通過(guò)本文給大家介紹Redis?Brpop?命令相關(guān)知識(shí),感興趣的朋友一起看看吧
    2023-07-07
  • Redis消息隊(duì)列、阻塞隊(duì)列、延時(shí)隊(duì)列的實(shí)現(xiàn)

    Redis消息隊(duì)列、阻塞隊(duì)列、延時(shí)隊(duì)列的實(shí)現(xiàn)

    Redis是一種常用的內(nèi)存數(shù)據(jù)庫(kù),它提供了豐富的功能,通常用于數(shù)據(jù)緩存和分布式隊(duì)列,本文主要介紹了Redis消息隊(duì)列、阻塞隊(duì)列、延時(shí)隊(duì)列的實(shí)現(xiàn),感興趣的可以了解一下
    2023-11-11
  • 淺談redis緩存在項(xiàng)目中的使用

    淺談redis緩存在項(xiàng)目中的使用

    最近由于項(xiàng)目需要,在系統(tǒng)緩存服務(wù)部分上用到了redis,本文就淺談下在redis緩存在項(xiàng)目中的使用,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Redis 配置文件使用建議redis.conf 從入門(mén)到實(shí)戰(zhàn)

    Redis 配置文件使用建議redis.conf 從入門(mén)到實(shí)戰(zhàn)

    Redis配置方式包括配置文件、命令行參數(shù)、運(yùn)行時(shí)CONFIG命令,支持動(dòng)態(tài)修改參數(shù)及持久化,常用項(xiàng)涉及端口、綁定、內(nèi)存策略等,版本8.0后配置文件更完整,緩存場(chǎng)景建議使用LRU淘汰策略,本文給大家介紹Redis 配置文件使用建議redis.conf 從入門(mén)到實(shí)戰(zhàn),感興趣的朋友一起看看吧
    2025-06-06

最新評(píng)論

湖北省| 慈利县| 彭阳县| 平阳县| 霍州市| 巴青县| 赤城县| 五大连池市| 乌兰县| 宝清县| 绥化市| 汾西县| 开原市| 曲周县| 承德县| 二连浩特市| 崇文区| 新宁县| 法库县| 芷江| 义马市| 个旧市| 彭泽县| 永平县| 阳新县| 安达市| 垣曲县| 比如县| 崇左市| 邵阳县| 繁昌县| 舒兰市| 农安县| 厦门市| 泸水县| 香港| 辽阳市| 洛宁县| 延长县| 左云县| 冀州市|