当前位置: 首页 > 面试题库 >

ServiceStack.Redis:无法连接:sPort:

孙辰阳
2023-03-14
问题内容

我经常收到ServiceStack.Redis:无法连接:sPort:0或ServiceStack.Redis:无法连接:sPort:50071(或其他端口号)。

当我们的网站繁忙时,似乎会发生这种情况。Redis本身看起来很好,CPU或内存使用量并未真正增加。

我正在使用连接池,并尝试更改超时值,但未成功。

public sealed class RedisConnection
{
    // parameter values are:
    // Config.Settings.RedisPoolSize = 10000
    // Config.Settings.RedisPoolTimeoutSeconds = 2
    // Config.Settings.RemoteCacheServerName = 192.168.10.12
    private static readonly PooledRedisClientManager instance
        = new PooledRedisClientManager(Config.Settings.RedisPoolSize,
                                       Config.Settings.RedisPoolTimeoutSeconds,
                                       new string[] { Config.Settings.RemoteCacheServerName })
        {
            ConnectTimeout = 1500
        };

    static RedisConnection()
    {
    }

    public static PooledRedisClientManager Instance
    {
        get
        {
            return instance;
        }
    }
}

用法是这样的:

public sealed class Caching
{
    public static T GetCacheSingle<T>(string key)
    {
    using (var redisClient = RedisConnection.Instance.GetReadOnlyClient())
    {
            var value = redisClient.Get<byte[]>(key);
            ....
    }
    }
}

问题答案:

这是由于Redis在Hyper-V上作为虚拟机托管的Ubuntu上运行而导致的延迟问题引起的。

通过移至物理Linux机箱,我们解决了该问题,将延迟降低了45%。



 类似资料:
  • 问题内容: 有时候(并非总是如此) “无法连接:sPort:0” 使用ServiceStack.Redis尝试从Redis获取值时出错。有人知道这意味着什么吗?我正在使用PooledRedisClientManager来获取客户端。 问题答案: 我相信您可以通过增加池的来解决此问题。我将其设置为非常低的时间(10毫秒),因此,在创建池时,某些客户端在短时间内无法连接。如果池返回了这些客户机之一,它

  • 问题内容: 尝试通过ServiceStack.Redis读取Redis列表时,间歇性出现以下错误:“无法从传输连接读取数据:已建立的连接被主机中的软件中止了”。我想知道我如何使用ServiceStack可靠地连接和池化Redis的整个概念是否是错误的。这是我使用密封类和单例模式进行连接的代码: 然后,我实例化另一个使用单例的类: 这又是从“服务” DTO回调中实例化和调用的: 然后,我使用“邮递员

  • 连接到hadoop时,出现以下错误 线程“main”java.lang.AbstractMethodError中出现异常:org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider。getProxy()Lorg/apache/hadoop/io/retry/failoverproxy提供程序$ProxyInfo

  • 问题内容: 我正在尝试使用Ruby on Rails运行Selenium的示例脚本。我必须使用代理运行它。这是我的代码: 我收到以下错误: 有人能帮我吗…?我已经尝试了好几个小时,却找不到问题…真的不知道该怎么办。 环境: Ubuntu 16.04 LTS,Firefox 45.0,rbenv 2.3.1 另一个问题:有人知道Selenium + Ruby on Rails的示例吗?我找不到真正好

  • 我无法使用我的应用程序甚至compass连接到mongoDB atlas,我收到了错误 连接11至cluster0-shard-00-02-uypd6。mongodb。净额:27017已结 这是我第一次尝试从本地连接,可能是LAN问题?在家里一切都很好

  • 我可以使用以下方式连接到stfp服务器: sftproot@44.333.22.1 然而,当我这样配置Spring时: 我得到以下信息: 原因:java。lang.IllegalArgumentException:org需要密码或私钥。springframework。util。明确肯定isTrue(Assert.java:65)位于org。springframework。整合。sftp。一场默认S