Sử dụng StackExchange.Redis trên ứng dụng .net core mới nhất .net 6
Thư viện nutget: Search tên Thư viện sau
Microsoft.Extensions.Caching.StackExchangeRedis
Tạo mới project .net 6 bằng visual studio:
Bước 1: Chọn ASP.NET core Web API
Bước 2: Đặt tên project
Bước 4:
Tạo một controller api test
Bước 5:
Add thư viện: từ Nutget
Microsoft.Extensions.Caching.StackExchangeRedis
Khai báo sử dụng thư viện Redis cached trong file Program.cs của Project
builder.Services.AddStackExchangeRedisCache(options =>
{
options.Configuration = "localhost,abortConnect=false,connectTimeout=30000,responseTimeout=30000";
});
Code controller:
[Route("api/[controller]")]
[ApiController]
public class RedisController : ControllerBase
{
private readonly IDistributedCache _distributedCache;
public RedisController(IDistributedCache distributedCache)
{
_distributedCache = distributedCache;
}
[HttpGet]
public string Get()
{
var cacheKey = "TheTime";
var currentTime = DateTime.Now.ToString();
var cachedTime = _distributedCache.GetString(cacheKey);
if (string.IsNullOrEmpty(cachedTime))
{
// cachedTime = "Expired";
// Cache expire trong 5s
var options = new DistributedCacheEntryOptions().SetSlidingExpiration(TimeSpan.FromSeconds(5));
// Nạp lại giá trị mới cho cache
_distributedCache.SetString(cacheKey, currentTime, options);
cachedTime = _distributedCache.GetString(cacheKey);
}
var result = $"Current Time : {currentTime} \nCached Time : {cachedTime}";
return result;
}
}
Và đây là kq:
Bạn có thể run ngay trên link run app:
http://localhost:5289/swagger/index.html
Link source code: bạn có thể tải tại đây: https://github.com/lequocviet4990/ExRedis
Chúc các bạn thành công