.net core 使用 redis


.net core 使用 redis

個人感覺.net core 對於微軟技術而言有很重要的意義 ,所以最近已有時間就想看一看關於.net core 的文章。

今天我就來寫一寫如何在.net core 環境中使用redis。

https://redis.io/clients 這個是redis的客戶端支持地址

看見redis的客戶端有很多語言支持的。

點開c#看見一個非常熟悉的驅動StackExchange

只怪自己一開始選擇了最熟悉的這個驅動,其實如果選擇Servicestack的話應該會好一點

創建redis工具類

https://www.nuget.org/packages/StackExchange.Redis/1.2.6

我在nuget中找到了這個驅動的相關說明,發現只支持.net standard不知道安裝到.net core app項目中會不會有什么問題,不過沒關系還好之前對.net standard有一點點了解。

其實很簡單,就是創建一個類庫,類庫的類型選擇.net standard而不是.net core的就行了。

由於我用的開發工具不是visual studio而是visual studio code,所以我可以在終端里使用dotnet cli命令.

於是我在項目的同級補錄創建了一個文件夾,cd進去之后輸入dotnet cli命令:

dotnet new class

稍等片刻,在這個文件夾下就創建完成了一個類庫。

說明一下:如果用dotnet cli創建的類庫,默認類型就是.net standard如果用visual studio創建的話則需要手動選擇類庫類型。

打開nuget管理工具安裝StackExchange.Redis,visual studio code 可以用dotnet cli命令也可以用nuget插件。

創建一個redis工具類,添加如下代碼

 private static ConnectionMultiplexer redis;

        protected static ConnectionMultiplexer GetConn()
        {
            if (redis == null || redis.IsConnected)
            {
                redis = ConnectionMultiplexer.Connect("localhost");
            }
            return redis;
        }

然后在這個類中可以根據api添加自己的擴展方法,我為了方便都是在別的項目中繼承這個類,然后調用GetConn()獲取ConnectionMultiplexer后根據需求操作redis中的數據。

比如

創建hash: GetConn().GetDatabase().HashSet()

獲取hash: GetConn().GetDatabase().HashGet()

執行redis語句: GetConn().GetServer(GetConn().GetEndPoints()[0]).Keys(0, "weather:*");

接下來就是在自己之前的項目中(web/console)引用剛創建的類庫,

dotnet cli:dotnet add [選項] <PROJECT> [命令]

一般為了速度,都是之家打開項目文件加入一行代碼就可以了

類似於:

<ItemGroup>
   <ProjectReference Include="../Models/Models.csproj" />
  </ItemGroup>

其實我對redis了解的還很好,如果有大神偶遇,請多指教:)


免責聲明!

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



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