我正在构建一个基于 的项目StackExchangeRedisCacheClient 并且已经过时了:
'StackExchangeRedisCacheClient' 已过时:'此接口(interface)将与下一个专业一起删除。请改用 RedisCacheClient。
所以我想从 StackExchangeRedisCacheClient 至 RedisCacheClient
不幸的是,没有文档或一些有用的信息可以做到这一点。
如何创建缓存客户端?与 RedisCacheClient ?需要的参数是 'RedisCacheClient( IRedisCacheConnectionPoolManager , ISerializer , RedisConfiguration )'
我查看了以下链接并尝试实现单池但未成功 https://github.com/imperugo/StackExchange.Redis.Extensions/issues/176#
提供连接字符串后无法创建 cacheClient。
StackExchangeRedisCacheClient: (工作正常)
public CacheManager()
{
string connectionString = "localhost:300....."
var serializer = new NewtonsoftSerializer();
cacheClient = new StackExchangeRedisCacheClient(serializer, connectionString);
clientName = cacheClient.Database.Multiplexer.ClientName;
}
RedisCacheClient:
public CacheManager()
{
string connectionString = "localhost:300....."
var serializer = new NewtonsoftSerializer();
cacheClient = new RedisCacheClient( *** ??? *** );
clientName = cacheClient.Database.Multiplexer.ClientName;
}
最佳答案
根据 https://github.com/imperugo/StackExchange.Redis.Extensions/issues/176如果您不关心拥有多个连接,则可以使用以下类:
internal class SinglePool : IRedisCacheConnectionPoolManager
{
private readonly IConnectionMultiplexer connection;
public SinglePool(string connectionString)
{
this.connection = ConnectionMultiplexer.Connect(connectionString);
}
public IConnectionMultiplexer GetConnection()
{
return connection;
}
}
关于c# - 从 StackExchangeRedisCacheClient 迁移到 RedisCacheClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57747110/