我的感受.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
稍等片刻,在這個文件夾下就建立完成了一個類庫。
打開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瞭解的還很好,若是有大神偶遇,請多指教:)