天天看點

九、.net core(.NET 6)添加通用的Redis功能

 .net core 編寫通用的Redis功能

在 Package項目裡面,添加包:StackExchange.Redis:

九、.net core(.NET 6)添加通用的Redis功能

在Common工具檔案夾下,建立 Wsk.Core.Redis類庫項目,并建立 RedisManage 類和對應接口 IRedisManage,如下圖。然後,在該項目裡面,引用共用包項目Wsk.Core.Package,用以使用Redis有關功能。

九、.net core(.NET 6)添加通用的Redis功能

在RedisManage類裡面,新增幾個用于連接配接Redis配置的全局變量,以及一個構造函數:

九、.net core(.NET 6)添加通用的Redis功能

在配置檔案裡面,建立Redis的有關配置資訊:

九、.net core(.NET 6)添加通用的Redis功能

配置的Json文本:

其中,Name是别名,可以任意起。Ip是Redis的服務端位址,例如安裝本地,就是127.0.0.1,端口号Port預設是6379,密碼可以通過Redis安裝的根目錄下的配置檔案進行設定,Timeout是連接配接的逾時時間,Db是使用Redis的DB區,一般Redis的DB區預設是0到15。注意:此處的配置使用的是數組,用于将來進行Redis分布式操作的可拓展。

看下redis安裝目錄下的配置檔案局部一覽:

九、.net core(.NET 6)添加通用的Redis功能

 如果打算修改該配置檔案來實作修改有關的配置資訊,但是沒有效果,注意在windows服務裡面把redis服務進行重新啟動。如果還不行,就把另外一個conf配置檔案也做同樣的操作,然後再重新開機redis服務。

接着,在解決方案下,建立一個檔案夾,叫DataEntities,該檔案夾當做将來存放各種實體類或有關項目的目錄。現在咱們在該建立的檔案夾下,建立一個類庫項目:Wsk.Core.Entity,然後建立一個實體類,叫RedisConfig,用于讀取到配置檔案的Redis資訊進行指派使用:

九、.net core(.NET 6)添加通用的Redis功能

回到Redis類庫項目,在RedisManage類裡面,添加一個方法ReadRedisSetting,用于讀取該配置資訊,并指派給ConfigurationOptions類:

九、.net core(.NET 6)添加通用的Redis功能

ReadRedisSetting代碼:

九、.net core(.NET 6)添加通用的Redis功能
九、.net core(.NET 6)添加通用的Redis功能

View Code

然後,建立一個方法ConnectionRedis,用于連接配接Redis:

九、.net core(.NET 6)添加通用的Redis功能

方法代碼:

九、.net core(.NET 6)添加通用的Redis功能
九、.net core(.NET 6)添加通用的Redis功能

在構造函數裡面,進行Redis連接配接的實作:

九、.net core(.NET 6)添加通用的Redis功能

現在,做個簡單的測試,建立一個Set方法和一個GetValue方法,用于測試效果:

九、.net core(.NET 6)添加通用的Redis功能

在IRedisMagane接口裡面,添加以上有關的接口方法:

九、.net core(.NET 6)添加通用的Redis功能

現在轉到啟動項目上,啟動項目新增對Wsk.Core.Redis項目的引用,并且在WskService類下面,新增對剛剛新增的Redis管理類的依賴注入的注冊:

九、.net core(.NET 6)添加通用的Redis功能

現在,在控制器裡面,添加有關構造函數的依賴注入,然後做個實踐,驗證下是否成功。

先改寫控制器内容,先設定一對key/value,然後進行讀取并傳回:

九、.net core(.NET 6)添加通用的Redis功能

啟動項目,輸入Hello Redis! ,然後檢視傳回對應的内容:

九、.net core(.NET 6)添加通用的Redis功能

我們打開Redis管理用戶端看看,是不是可以看見有這個值:

九、.net core(.NET 6)添加通用的Redis功能

因為我們配置的是Db = 3,是以在Db3這個地方,可以看見我們的Key,點選Tesk,即可在右邊視窗看見對應的内容。說明Redis操作成功。

最後,咱們對Redis管理類進行一些其他功能的添加,以及接口方法的添加,用于完善它的功能鍊,包括移除、讀取實體資料、清空、異步操作等。以下截圖為對應的接口方法展示:

九、.net core(.NET 6)添加通用的Redis功能

 接口部分源碼:

九、.net core(.NET 6)添加通用的Redis功能
九、.net core(.NET 6)添加通用的Redis功能

接口實作部分的整體源碼:

九、.net core(.NET 6)添加通用的Redis功能
九、.net core(.NET 6)添加通用的Redis功能

由于時間關系,就不一一列舉各自的功能了,各位大佬們可以自行嘗試。

最後,說個小竅門:Key值如果使用冒号,在用戶端上面檢視就會自動變成分層結構。舉個例子,改寫控制器,原本設定的Test這個Key,改寫為Test:Wesky:

九、.net core(.NET 6)添加通用的Redis功能

然後,啟動程式,讓他執行一下,用于生成一條記錄,例如此處我寫入:Hello Key’s Rules:

九、.net core(.NET 6)添加通用的Redis功能

由此可見,Key值分層顯示了。在一些場合下,可以使用冒号來分隔開不同層級的Key,以便于在用戶端檢視。

至此,結束,歡迎打賞、評論和點贊。

版權所有,轉載請注明出處:https://www.cnblogs.com/weskynet/p/14847526.html

備注:如果有需要Redis、以及Redis安裝包的,以及安裝教程,可以加以下的QQ群進行擷取和咨詢。

歡迎加入QQ群:

群号:1079830632

九、.net core(.NET 6)添加通用的Redis功能

繼續閱讀