c# - ServiceStack.Redis 无法连接sPort

标签 c# redis servicestack nosql

几天来我一直在努力弄清楚为什么我会收到诸如 http://i.imgur.com/cfCBWRS.png 之类的异常。

public virtual bool CreateOrUpdateValueById<T>(TQuery query, TResult value)
{
    using (var redisClient = Connection.RedisManager.GetClient())
    {
        var redis = redisClient.As<TResult>();

        var key = query.GetKeyWithId();
        redis.SetEntry(key, value);

        return true;
    }
}

它在数百个项目的循环中运行。

foreach (var playlistItem in playlistItems)
{
   var query = new PlaylistItemsQuery(playlistItem.Id, playlistItem.PlaylistId);
   _playlistItemsQueryHandler.CreateOrUpdateValueById<PlaylistItemDto>(query, playlistItem);
}

对于任何 get 查询也会发生

public virtual IEnumerable<TResult> GetAllValues(TQuery query)
{
    using (var redisClient = Connection.RedisManager.GetReadOnlyClient()
    {
        var keys = redisClient.ScanAllKeys(query.GetKeyWithAllIds()).ToList();
            return redisClient.GetValues<TResult>(keys);
    }
 }

我为 redispool 使用单例类

public static IRedisClientsManager RedisManager { get; } = new PooledRedisClientManager
{
    ConnectTimeout = 60000
};

我在不受官方支持的 localhost windows 上托管 redis,真的是这样吗?

最佳答案

错误消息表明 Redis 客户端无法与远程 Redis 服务器建立 TCP 连接。如果您使用的不是 ServiceStack.Redis v4 的许可版本,则可能意味着您已经超出了 ServiceStack.Redis Free Quota Limits 的限制。 .

否则请确认您可以从 redis-cli.exe 连接到它,如果不能,您可以尝试重新启动 redis-server。

关于c# - ServiceStack.Redis 无法连接sPort,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32725836/

相关文章:

node.js - 跨多个 Amazon EC2 实例水平扩展 socket.io

ServiceStack.Interfaces.dll 不再复制到依赖项目

c# - 我有错误的哈希值? C#密码学

c# - (c# + windows 窗体) 将项目添加到不同类中的 listBox

c# - 在此 ASP.NET webforms 页面中以何种顺序执行哪些方法

c# - 发现 DotNet 无效证书

django - 如何在部署到 AWS 实例时使 redis BROKER_URL 动态化

mongodb - 在 DBeaver 中连接到 Redis 或 MongoDB

mono - 初学C#/Mono,ServiceStack.Redis找不到引用

servicestack - ServiceStack Asp.NET Core 的第三方异常处理 Hook ?