VS配置redis環境、redis簡單封裝

一、安裝redis數據庫

1.下載redis的壓縮包

wget https://download.redis.io/releases/redis-6.0.5.tar.g

2.解壓縮redis壓縮包,一般就在當前路徑

tar -zvxf redis-6.0.5.tar.gz -C /usr/local/redis

方便找我把它解壓縮在/usr/local/redis,如果沒有redis文件夾先到cd ?/usr/local/下使用

mkdir redis創建一個

    3.跳轉到解壓的redis-6.0.5目錄下執行

    cd /usr/local/redis/redis-6.0.5

    make 指令進行編譯

    make PREFIX=/usr/local/redis install??//進行安裝

    完成之后會生成一個bin目錄下有redis服務端與客戶端

    4.運行redis服務器

    ./redis-server

    CTL+C 關閉服務器

    5.運行redis客戶端

    ./redis-cli

    CTL+C 退出

    6.設為守護進程

    我們更多希望它在后臺自動運行因此會修改它的配置文件

    vi ?/usr/local/redis/redis-6.0.5/redis.conf

    將這個位置的no改為yes 保存退出即可

    7.啟動redis

    cd /usr/local/redis/bin ??回到bin目錄下

    ?./redis-server ../redis-6.0.5/redis.conf

    ps aux | grep redis-server??//查看它所在運行的進程

    二、配置VS編譯環境

    #include?<hiredis/hiredis.h>?//redis的頭文件

    但是會爆紅,原因是我們沒有安裝這個文件庫

    1.安裝hiredis庫

    sudo apt install libhiredis-dev

    2.查找到庫的頭文件與驅動文件的位置

    dpkg -L libhiredis-dev | grep '\.h$'? ?//頭文件

    dpkg -L libhiredis-dev | grep '\.so$'? //驅動文件

    3.VS配置項目的屬性

    常規處附加包含目錄添加頭文件所在的路徑

    /usr/include/hiredis/

    /usr/include/hiredis/adapters/

    輸入塊寫入驅動文件

    三、Redis數據庫的封裝

    頭文件:RedisConn.h

    #pragma once
    #include <hiredis/hiredis.h>
    #include<iostream>
    #include<string>using namespace std;
    class RedisConn
    {
    public:static RedisConn* redisConn;//確保只有一個redis連接類static RedisConn* getInstance();//初始化單例bool RedisConnect();//連接數據庫RedisConn* getRedisConn() const;//獲取連接對象bool set_key(string key, string value);//寫入鍵值對string get_key(string key) const;//拿取鍵對應的值
    private:RedisConn();~RedisConn();redisContext* conn;//連接對象
    };

    cpp文件:RedisConn.cpp

    #include "RedisConn.h"RedisConn* RedisConn::redisConn = nullptr;//設置為懶漢式單例模式:避免重復創建實例浪費資源
    RedisConn* RedisConn::getInstance()
    {if (redisConn == nullptr){redisConn = new RedisConn();}return redisConn;
    }bool RedisConn::RedisConnect()
    {conn = redisConnect("127.0.0.1", 6379);if (conn->err){cout << "連接失敗" << conn->errstr << endl;return false;}return true;
    }RedisConn::RedisConn()
    {if (RedisConnect())//連接數據庫{cout << "redis succeful" << endl;}
    }RedisConn::~RedisConn()
    {redisFree(conn);//關閉數據庫//釋放資源delete conn;delete redisConn;
    }RedisConn* RedisConn::getRedisConn() const
    {return redisConn;
    }bool RedisConn::set_key(string key, string value)
    {redisReply* reply = nullptr;// 使用 redisCommand 的參數化版本更安全reply = (redisReply*)redisCommand(conn, "SET %s %s EX 180", key.c_str(), value.c_str());//判斷執行是否成功if (!reply||reply->type == REDIS_REPLY_ERROR) {cout<< "Redis error: " << reply->str << endl;freeReplyObject(reply);return false;}freeReplyObject(reply);//釋放指針return true;
    }string RedisConn::get_key(string key) const
    {string value;redisReply* reply = nullptr;reply = (redisReply*)redisCommand(conn, "GET %s", key.c_str());value = reply->str;//拿取值freeReplyObject(reply);//釋放指針return value;
    }

    本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
    如若轉載,請注明出處:http://www.pswp.cn/diannao/85162.shtml
    繁體地址,請注明出處:http://hk.pswp.cn/diannao/85162.shtml
    英文地址,請注明出處:http://en.pswp.cn/diannao/85162.shtml

    如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

    相關文章

    C++23 已移除特性解析

    文章目錄 引言C23 已移除特性介紹1. 垃圾收集的支持和基于可達性的泄漏檢測&#xff08;P2186R2&#xff09;背景與原理存在的問題移除的影響 2. 混合寬字符串字面量拼接非良構&#xff08;P2201R1&#xff09;寬字符串編碼概述混合拼接的問題示例分析移除的意義 3. 不可編碼寬…

    Cloudflare

    Cloudflare 是一個網絡基礎設施和網站安全服務提供商&#xff0c;它的主要作用是讓網站 更快、更安全、更可靠。簡單來說&#xff0c;它是一個“護盾 加速器”。 &#x1f9e9; Cloudflare 的主要功能&#xff1a; 1. &#x1f680; 加速網站訪問&#xff08;CDN&#xff09…

    Spring Boot啟動慢?Redis緩存擊穿?Kafka消費堆積?——Java后端常見問題排查實戰

    Spring Boot啟動慢&#xff1f;Redis緩存擊穿&#xff1f;Kafka消費堆積&#xff1f;——Java后端常見問題排查實戰 引言 Java后端系統因其豐富的技術棧和復雜的業務邏輯&#xff0c;常常面臨啟動延遲、性能瓶頸、異常錯誤等多種挑戰。從核心語言、Web框架到分布式微服務及緩…

    數字人引領政務新風尚:智能設備助力政務服務

    在信息技術飛速發展的今天&#xff0c;政府機構不斷探索提升服務效率和改善服務質量的新途徑。實時交互數字人在政務服務中的應用正成為一大亮點&#xff0c;通過將“數字公務員”植入各種橫屏智能設備中&#xff0c;為民眾辦理業務提供全程輔助。這種創新不僅優化了政務大廳的…

    ToolsSet之:十六進制及二進制編輯運算工具

    ToolsSet是微軟商店中的一款包含數十種實用工具數百種細分功能的工具集合應用&#xff0c;應用基本功能介紹可以查看以下文章&#xff1a; Windows應用ToolsSet介紹https://blog.csdn.net/BinField/article/details/145898264 ToolsSet中Number菜單下的Hex Operate工具可以進…

    DSP處理數字信號做什么用的?

    DSP&#xff08;數字信號處理器&#xff09;的核心任務是高效、實時地處理數字信號&#xff0c;通過專用硬件架構和算法優化&#xff0c;完成對信號的轉換、增強、分析和控制。以下是DSP處理數字信號的主要用途及典型場景&#xff1a; 1. 信號增強與優化 降噪&#xff08;Noise…

    電腦如何保養才能用得更久

    在這個數字化的時代&#xff0c;電腦已經成為了我們生活和工作中不可或缺的伙伴。無論是處理工作文檔、追劇娛樂&#xff0c;還是進行創意設計&#xff0c;電腦都發揮著至關重要的作用。那么&#xff0c;如何讓我們的電腦“健康長壽”&#xff0c;陪伴我們更久呢&#xff1f;今…

    設計模式-監聽者模式

    文章目錄 監聽者模式 監聽者模式 監聽器模式指的是事件源經過事件的封裝傳給監聽器&#xff0c;當事件源觸發事件之后&#xff0c;監聽器收到事件的通知并執行事件回調方法。 -監聽者觀察者概念定義當范圍對象的狀態發生變化時&#xff0c;服務器自動調用監聽器對象中的方法來…

    小程序33-列表渲染

    列表渲染 就是指通過循環遍歷一個數組或對象&#xff0c;將其中的每個元素渲染到頁面上 在組件上使用 wx:for 屬性綁定一個數組或對象&#xff0c;既可使用每一項數據重復渲染當前組件 每一項的變量名默認為item&#xff0c;下標變量名默認為index 在使用 wx:for進行遍歷的時候…

    [ Qt ] | QRadioButton和QCheckBox的使用

    目錄 QRadioButton 常用屬性 clicked(bool)信號、pressed信號、released信號 小項目 QRadioButton QRadioButton是一個單選按鈕&#xff0c;也是繼承自QAbstractButton(繼承自QWidget) 常用屬性 checkable 是否能選中 checked 是否已經被選中 autoExclusive 是否排…

    [網頁五子棋][匹配模式]創建房間類、房間管理器、驗證匹配功能,匹配模式小結

    文章目錄 創建房間類創建房間類實現房間管理器 實現匹配器(3)驗證匹配功能問題&#xff1a;匹配按鈕不改變驗證多開 小結 創建房間類 LOL&#xff0c;通過匹配的方式&#xff0c;自動給你加入到一個房間&#xff0c;也可手動創建游戲房間 這一局游戲&#xff0c;進行的“場所…

    Apifox 5 月產品更新|數據模型支持查看「引用資源」、調試 AI 接口可實時預覽 Markdown、性能優化

    Apifox 新版本上線啦&#xff01; 看看本次版本更新主要涵蓋的重點內容&#xff0c;有沒有你所關注的功能特性&#xff1a; 自動解析 JSON 參數名和參數值調試 AI 接口時&#xff0c;可預覽 Markdown 格式的內容性能優化&#xff1a;新增「實驗性功能」選項 使用獨立進程執行…

    Spring MVC 框架

    目錄 1.MVC的定義 2.SpringMVC的實際應用 &#xff08;1&#xff09;建立連接 1.RequestMapping注解介紹 2.RequestMapping注解的請求方式 GET請求&#xff1a; POST請求&#xff1a; 指定GET/POST方法類型&#xff1a; &#xff08;2&#xff09;請求 傳遞參數 1.傳…

    基于RK3568/RK3588/全志H3/飛騰芯片/音視頻通話程序/語音對講/視頻對講/實時性好/極低延遲

    一、前言說明 近期收到幾個需求都是做音視頻通話&#xff0c;很多人會選擇用webrtc的方案&#xff0c;這個當然是個不錯的方案&#xff0c;但是依賴的東西太多&#xff0c;而且相關組件代碼量很大&#xff0c;開發難度大。所以最終選擇自己屬性的方案&#xff0c;那就是推流拉…

    AI+爆款文案,提示詞腳本 ——衛朋

    目錄 簡介 提示詞 作者簡介 簡介 用好AI的前提是腦子里面要有框架。 AI就像是一個剛出生的小孩&#xff0c;沒有判斷力&#xff0c;瘋狂接收世界上的各類信息。 如果沒有從小的規則框架約束、沒有道德約束&#xff0c;最終的結果就一定是混亂無序的。 AI也是一樣&#x…

    芯片:數字時代的算力引擎——鯤鵬、升騰、海光、Intel 全景解析

    在大模型爆炸的時代&#xff0c;芯片如同現代文明的“數字心臟”&#xff0c;驅動著從智能手機、數據中心到人工智能和超級計算的每一個關鍵進程。在這場算力競賽中&#xff0c;華為鯤鵬、升騰、海光以及行業巨頭Intel各自扮演著獨特而至關重要的角色。本文將深入解析這些核心算…

    傳輸層協議TCP(上)

    上一篇https://blog.csdn.net/Small_entreprene/article/details/148143494?fromshareblogdetail&sharetypeblogdetail&sharerId148143494&sharereferPC&sharesourceSmall_entreprene&sharefromfrom_link 上文學習了傳輸層的協議之一UDP&#xff0c;接下來…

    關于ios點擊分享自動復制到粘貼板的問題

    前言 Android 系統沒有什么特別的要求&#xff0c;實現這個也比較容易。但ios在某些情況下就會出現問題。 如果ios是點擊之后&#xff0c;請求接口&#xff0c;再把接口的內容賦值給粘貼板肯定行不通&#xff0c;會被ios系統攔截&#xff0c;導致賦值失敗或者賦值為空。建議使…

    SAP Business One:無錫哲訊科技助力中小企業數字化轉型的智慧之選

    數字化轉型&#xff0c;中小企業的必經之路 在當今競爭激烈的商業環境中&#xff0c;數字化轉型已不再是大型企業的專利&#xff0c;越來越多的中小企業開始尋求高效、靈活的管理系統來優化業務流程、提升運營效率。作為全球領先的企業管理軟件&#xff0c;SAP Business One…

    【孫悟空喝水】2022-2-7

    緣由C編程問題求解:9634: 孫悟空喝水-編程語言-CSDN問答 void 孫悟空喝水() {//緣由https://ask.csdn.net/questions/7639865?spm1005.2025.3001.5141int x 2&#xff0c; n 0; double s 0, ss 0;std::cin >> n;while ((int)s < n)s 1.0 / x, ss (x - 1.0) / …