Dan*_*iel 9 c# asp.net caching redis
关于理解使用哪个redis数据库以及如何配置它的问题.
我有一个默认的ASP.NET核心Web应用程序和一个默认配置的本地redis-server(包含15个数据库)
在包管理控制台上我安装了:
Install-Package Microsoft.Extensions.Caching.Redis
Run Code Online (Sandbox Code Playgroud)
Redis在Startup.cs中配置如下:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddDistributedRedisCache(option =>
{
option.Configuration = "127.0.0.1";
option.InstanceName = "master";
});
}
Run Code Online (Sandbox Code Playgroud)
读取和写入缓存中的值的代码取自文档:
var cacheKey = "TheTime";
var existingTime = _distributedCache.GetString(cacheKey);
if (!string.IsNullOrEmpty(existingTime))
{
return "Fetched from cache : " + existingTime;
}
else
{
existingTime = DateTime.UtcNow.ToString();
_distributedCache.SetString(cacheKey, existingTime);
return "Added to cache : " + existingTime;
}
Run Code Online (Sandbox Code Playgroud)
但是这个代码只使用默认数据库db0,无论我配置什么.
例如,使用此配置:
services.AddDistributedRedisCache(option =>
{
option.Configuration = "127.0.0.1";
option.InstanceName = "db6";
});
Run Code Online (Sandbox Code Playgroud)
导致:
我需要配置什么来使用例如db6?
我必须使用Stackexchange.Redis吗?
har*_*ded 10
Microsoft.Extensions.Caching.Redis正在使用 Stackexchange.Redis 连接到Redis.
该Configuration字符串记录在StackExchange.Redis上.那就是说,你应该能够做到:
services.AddDistributedRedisCache(option =>
{
option.Configuration = "127.0.0.1;defaultDatabase=4";
option.InstanceName = "master";
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2208 次 |
| 最近记录: |