ASP.NET CORE[練習22]-Redis6-Microsoft.Extensions.Caching.redis
練習+部落格,量化自己的進步!
前幾篇的練習使用的是StackExchange.Redis客戶端,redis的基本用法也都明白了。Microsoft.Extensions.Caching.redis是封裝了StackExchange.Redis,Nuget包裝了Microsoft.Extensions.Caching.redis,就不需要裝StackExchange.Redis了。
- byte[]
- Get,GetAsync
- Set,SetAsync
- RefreshRefreshAsync
- RemoveRemoveAsync
安裝Microsoft.Extensions.Caching.redis
安裝這個
解除安裝這個
注入服務
// 這個是之前使用StackExchange.Redis時寫的,可以共存
services.AddSingleton<IConnectionMultiplexer>(ConnectionMultiplexer.Connect("localhost"));
// 這個是新加的
services.AddDistributedRedisCache(options=> {
options.Configuration = "localhost";
options.InstanceName = "RedisDemoInstance";
});
Controller注入
public class AlbumsController : Controller
{
private readonly IDatabase _db;
private readonly IDistributedCache distributedCache;
// 注入IDistributedCache一個就行了,不需要像IConnectionMultiplexer再賦值IDatabase了
public AlbumsController(IConnectionMultiplexer redis, IDistributedCache distributedCache)
{
this._db = redis.GetDatabase();
this.distributedCache = distributedCache;
}
使用
var value = distributedCache.Get("name-key");
string valStr = string.Empty;
if (value == null)
{
valStr = "孫悟空三打白骨精!";
// 儲存的資料必須為位元組,所以需要轉換一下
var encoded = Encoding.UTF8.GetBytes(valStr);
// 配置類:30秒過時
var options = new DistributedCacheEntryOptions().SetSlidingExpiration(TimeSpan.FromSeconds(30));
distributedCache.Set("name-key", encoded, options);
}
else
{
valStr = Encoding.UTF8.GetString(value);
}
ViewBag.ValStr = valStr;
相關文章
- ASP.NET Core RESTful學習理解ASP.NETREST
- 使用angular4和asp.net core 2 web api做個練習專案(一)AngularASP.NETWebAPI
- 使用angular4和asp.net core 2 web api做個練習專案(三)AngularASP.NETWebAPI
- 使用angular4和asp.net core 2 web api做個練習專案(四)AngularASP.NETWebAPI
- ASP.NET Core 框架本質學習ASP.NET框架
- ASP.NET Core 學習筆記 第四篇 ASP.NET Core 中的配置ASP.NET筆記
- ASP.NET Core 學習筆記 第五篇 ASP.NET Core 中的選項ASP.NET筆記
- 學習ASP.NET Core(06)-Restful與WebAPIASP.NETRESTWebAPI
- ASP.NET Core ----ASP.NET Core中使用Code FirstASP.NET
- ASP.NET 6.0 Core 遷移 ASP.NET Core 7.0ASP.NET
- Asp.Net Core學習筆記:入門篇ASP.NET筆記
- 使用angular4和asp.net core 2 web api做個練習專案(二), 這部分都是angularAngularASP.NETWebAPI
- 【ASP.NET Core學習】使用JWT認證授權ASP.NETJWT
- 換個角度學習ASP.NET Core中介軟體ASP.NET
- gRPC在 ASP.NET Core 中應用學習RPCASP.NET
- ASP.NET Core: 全新的ASP.NET !ASP.NET
- ASP.NET CORE 專案搭建(2022 年 3 月版)ASP.NET
- 在ASP.NET Core中用HttpClient(六)——ASP.NET Core中使用HttpClientFactoryASP.NETHTTPclient
- 學習ASP.NET Core Blazor程式設計系列十三——路由(完)ASP.NETBlazor程式設計路由
- 學習ASP.NET Core Blazor程式設計系列十五——查詢ASP.NETBlazor程式設計
- ASP.NET Core - 開篇ASP.NET
- asp.net core 整合JWTASP.NETJWT
- asp.net core 整合 PrometheusASP.NETPrometheus
- 【asp.net core 系列】 1 帶你瞭解一下asp.net coreASP.NET
- .NET Core 1.0、ASP.NET Core 1.0和EF Core 1.0簡介ASP.NET
- 【asp.net core 系列】14 .net core 中的IOCASP.NET
- ASP.Net Core5.0 EF Core使用記錄ASP.NET
- ASP.NET Core Web API 索引 (更新Redis in .NET Core)ASP.NETWebAPI索引Redis
- ASP.NET 5 已終結,迎來 ASP.NET Core 1.0 和 .NET Core 1.0ASP.NET
- ASP.NET core 2.2 截圖ASP.NET
- ASP.NET Core 配置檔案ASP.NET
- asp.net core 系列之StartupASP.NET
- 【ASP.NET Core】URL重寫ASP.NET
- 理解ASP.NET Core - [04] HostASP.NET
- 理解ASP.NET Core - [01] StartupASP.NET
- ASP.NET Core WebApi版本控制ASP.NETWebAPI
- asp.net core mvc 分頁ASP.NETMVC
- ASP.NET Core 啟動(1)ASP.NET