[C#]使用Redis來存儲鍵值對(Key-Value Pair)


 


本文為原創文章、源代碼為原創代碼,如轉載/復制,請在網頁/代碼處明顯位置標明原文名稱、作者及網址,謝謝!


開發工具:VS2017

語言:C#

DotNet版本:.Net FrameWork 4.5及以上

系統:Win10 X64

一、安裝Redis服務器

首先,從以下網站下載Redis服務器,

並從以下列表中下載Redis-x64-3.2.100.msi,如下圖所示:

或者從百度網盤進行下載,如下:

其次,安裝Redis-x64-3.2.100.msi,全部點擊肯定性按鈕直至安裝完成,如下圖所示:

安裝完畢之后,使用WIN+R彈出“運行”窗體,輸入“services.msc”打開系統“服務”窗體,我們可以看到如下的信息:

以上是“Redis服務器”服務,如果想以此作為服務器,強烈建議設置服務的啟動類型為“自動”(保持默認值即可)

然后,將C:\Program Files\Redis路徑加入系統環境變量里面,如下圖所示:

此次目的是用於以后不再輸入文件路徑(減少輸入路徑帶來的不便),如下圖所示:

二、安裝StackExchange.Redis,用於C#與服務器進行交互

首先,從“程序包管理器控制台”輸入以下內容進行安裝引用StackExchange.Redis,如下所示:

PM> Install-Package StackExchange.Redis

備注:最新版本不允許使用.DotNet4.0,這里使用.Net4.5,否則將安裝不了。

安裝結果如下圖所示:

其次,在控制台編寫以下代碼:

using StackExchange.Redis;
using System;
using System.Threading;

namespace RedisConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            ConnectionMultiplexer cm =  ConnectionMultiplexer.Connect("127.0.0.1:6379");
            IDatabase db = cm.GetDatabase();
            db.StringSet("Info", "Hello World");
            string result = db.StringGet("Info");
            Console.WriteLine(result);

            ISubscriber sc = cm.GetSubscriber();
            string channelStr = "CH1";
            sc.Subscribe(channelStr, (channel, information) => Console.WriteLine($"From {channel}: {information}"));
            sc.Publish(channelStr, "Hello,my name is CNXY");
            Thread.Sleep(100);
            sc.Publish(channelStr, "My website is http://www.cnc6.cn");
            Console.ReadKey();

        }
    }
}

其輸出結果如下:

然后,我們同樣可以利用Redis-cli來查看剛才建立的信息,如下所示:

三、如何加密連接

首先,打開"C:\Program Files\Redis\redis.windows.conf",將里面的“# requirepass foobared”改成“#requirepass 你的密碼”即可,此處修改為“requirepass 123”,修改后必須重啟服務,如下圖所示:

其次,在C#源代碼里將 ConnectionMultiplexer.Connect("127.0.0.1:6379")改成 ConnectionMultiplexer.Connect("127.0.0.1:6379,password=123")即可。

然后,我們看看是不是被密碼保護了,具體如下圖所示:

從上圖可以看出,該連接已經被保護了!

四、如何使用遠程訪問

首先,打開"C:\Program Files\Redis\redis.windows.conf",將里面的“bind 127.0.0.1”改成“#bind 127.0.0.1”即可,修改后必須重啟服務,如下圖所示:

然后,使用其他IP地址(如192.168.94.250)進行操作,如下圖所示:

可以從上圖看出,使用192.168.94.250這個IP地址可以正常進行操作。

同樣,需要將C#代碼里對應的IP地址從127.0.0.1改成192.168.94.250,如下代碼所示:

//ConnectionMultiplexer cm = ConnectionMultiplexer.Connect("127.0.0.1:6379,password=123");
ConnectionMultiplexer cm =  ConnectionMultiplexer.Connect("192.168.94.250:6379,password=123");

 


其他對哈希表、列表、集合及有序集合等的操作,請自行百度,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM