servicestack.redis getvalues给出了垃圾值

时间:2018-06-18 18:31:50

标签: servicestack.redis

我正面临一个问题,就像获得“好”等垃圾价值一样。或者' 0' 0或者一些数字'从Redis读取值时的值。在读取普通键和散列键时也会发生这种情况。我们已升级所有服务堆栈组件并仍然面临问题。请在c#

中找到组件详细信息和代码段

我们的环境:我们设置了sentinel,每个Sentinel都与Redis实例配对。现在我们设置了三个sentinel实例和三个redis服务器实例。我们使用只读客户端来读取值,使用读写客户端将值写入Redis。即使使用读写客户端进行读写也会给出相同的垃圾值问题。

 Components:
    ServiceStack.Common v 5.1.0.0
    ServiceStack.Redis v 5.1.0.0
    ServiceStack.Interfaces v 5.1.0.0
    ServiceStack.Text v 5.1.0.0

    Redis server v 3.0.503

    OS: Windows server 2012 R2

代码段:

private static IredisClientManager m_redisManager;
initializeRedis()
{
    if(m_redisManager == null)
     {
          var sentinel = new RedisSentinel(
          "193.168.1.1:16380,193.168.1.2:16380,193.168.1.3:16380"
          ,"testmaster")
          {
              RefreshSentinelHostsAfter = 10;
          };
          sentinel.RedisManagerFactory += (master,slaves) 
                     => new RedisManagerPool(master);
          m_redisManager = sentinel.Start();
     }
}

public string GetValue(string key)
{
    string val;
    using(var client = m_redisManager.GetClient())
    {
       val = client.GetValue(key);
    }
    return val;
}

Note: 

1。 m_redisManager声明为static,因此它只运行一次。每次通话都会分享这位经理 2.客户在每次通话后处理以获取价值 3.我的应用程序是多线程的,因此可以同时从多个线程读取。并且应用程序也可以从同一台机器和不同的机器进行多种实例化。 4.上面的代码来自与Redis交互的组件。 5.客户端将调用GetValue函数

可能是什么问题?有人可以帮忙吗

0 个答案:

没有答案