本文為原創文章、源代碼為原創代碼,如轉載/復制,請在網頁/代碼處明顯位置標明原文名稱、作者及網址,謝謝!
開發工具: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");
其他對哈希表、列表、集合及有序集合等的操作,請自行百度,謝謝!