標籤:bar database cli 資訊 microsoft 自動 安裝redis files str
原文:[C#]使用Redis來儲存索引值對(Key-Value Pair)
本文為原創文章、原始碼為原創代碼,如轉載/複製,請在網頁/代碼處明顯位置標明原文名稱、作者及網址,謝謝!
開發工具:VS2017
語言:C#
DotNet版本:.Net FrameWork 4.5及以上
系統:Win10 X64
一、安裝Redis伺服器
首先,從以下網站下載Redis伺服器,
https://github.com/MicrosoftArchive/redis/releases
並從以下列表中下載Redis-x64-3.2.100.msi,如所示:
或者從百度網盤進行下載,如下:
https://pan.baidu.com/s/1dFya9ep
其次,安裝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");
其他對雜湊表、列表、集合及有序集合等的操作,請自行百度,謝謝!
[C#]使用Redis來儲存索引值對(Key-Value Pair)