c# - 从 StackExchangeRedisCacheClient 迁移到 RedisCacheClient

标签 c# .net stackexchange.redis redis-cache

我正在构建一个基于 的项目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/

相关文章:

java - 来自多台机器的 Redis 可访问性,例如。 x.x.2.2 和 x.x.2.5

c# - 在 ASP.NET MVC 中从 MySQL 查询是否有更简单的方法?

c# - 在 WPF 中创建自定义安装程序

c# - 如何从 C++ dll 中删除 C# dll

c# - 可变数量的参数而无需将值类型装箱?

c# - 为什么从 Redis 中提取键和哈希值这么慢?

c# - 通用快速排序算法

c# - 有什么方法可以在后台运行进程?

c# - 在 IIS 上工作时 System.Diagnostic.Trace.CorrelationManager.ActivityId 生成为空

redis - "ConnectionMultiplexer.IsConnected"贵吗?