除了从本地主机无法连接到Redis

时间:2020-02-04 15:42:21

标签: .net-core redis stackexchange.redis

您好,我正在使用Redis,并且在使用本地主机以外的域时无法连接到它。

StackExchange.Redis.RedisConnectionException:'没有连接 可用于此操作的服务:HEXISTS文件;无法连接 [someDomain.com]:6379 /交互式,正在初始化/未启动, 最后:无,来源:BeginConnectAsync,未完成:0,最后读取:1秒 前一次,最后写入:1秒前,保持活动状态:60秒,状态:正在连接,mgr:10 之10,可用,最后一次心跳:永不,全局:0s之前,v: 2.0.593.37019; IOCP:(忙= 0,空闲= 1000,最小值= 8,最大值= 1000),工作人员:(忙= 0,空闲= 32767,最小值= 8,最大值= 32767),本地CPU:n / a'

多路复用器连接,并且标记IsConnecting为false。因此连接已完成。

class Program {

       // public const string CON = "127.0.0.1:6379,ssl=False,allowAdmin=True,abortConnect=False,defaultDatabase=0";
        public const string CON = "someDomain.com:6379,ssl=False,allowAdmin=True,abortConnect=False,defaultDatabase=0";

        public static async Task<bool> LockFileForEditAsync(int fileId) {
            var multiplexer = ConnectionMultiplexer.Connect(CON);

            var flag = multiplexer.IsConnecting;
            var database = multiplexer.GetDatabase();
            var exists = await database.HashExistsAsync("files", fileId); //crashes here !!
            return false;
        }

        static async Task Main(string[] args) {
            int fid = 1;
            var locked = await LockFileForEditAsync(fid);
        }
    }

PS 我已经检查了有关thread theft的线程,但找不到解决方案。 那么,为什么在本地主机上而不是从另一台计算机连接到同一redis服务器会起作用?

1 个答案:

答案 0 :(得分:0)

尝试在Redis服务器的配置文件中查找此行

bind 127.0.0.1

如果找到,将其注释掉并重新启动Redis服务器。