.net core 使用 redis

.net core 使用 redis

我的感受.net core 對於微軟技術而言有很重要的意義 ,因此最近已有時間就想看一看關於.net core 的文章。web

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

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

看見redis的客戶端有不少語言支持的。api

點開c#看見一個很是熟悉的驅動StackExchangeapp

只怪本身一開始選擇了最熟悉的這個驅動,其實若是選擇Servicestack的話應該會好一點工具

https://www.nuget.org/packages/StackExchange.Redis/1.2.6開發工具

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

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

因爲我用的開發工具不是visual studio而是visual studio code,因此我能夠在終端裏使用dotnet cli命令.code

因而我在項目的同級補錄建立了一個文件夾,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瞭解的還很好,若是有大神偶遇,請多指教:)

相關文章
相關標籤/搜索