透過.NET Core內建的分散式快取介面,加入Redis快取服務
首先需要到NuGet安裝 Microsoft.Extensions.Caching.StackExchangeRedis 套件
接著在Startup.cs中加入快取服務
public void ConfigureServices(IServiceCollection services)
{
services.AddStackExchangeRedisCache(options =>
{
//Redis連線字串
options.Configuration = Configuration.GetConnectionString("Redis");
//作為key的prefix
options.InstanceName = "MyProject:";
});
}
之後就可以在程式中使用快取功能了
class Foo
{
private readonly IDistributedCache _cache;
public Foo(IDistributedCache cache)
{
_cache = cache;
}
public void Set()
{
_cache.SetString("test", "values");
}
public void Get()
{
_cache.GetString("test");
}
}
另外DistributedCache的快取到期時間設定分成兩種:
- Absolute Expiration:到期時間以Set當下的時間起算
- Sliding Expiration:以最後一次存取的時間點起算,如果有用Get去存取資料,就會重置到期timer
參考文章: