【问题标题】:Not possible to connect to Redis无法连接到 Redis
【发布时间】:2021-02-15 14:58:18
【问题描述】:

我在这个问题上困扰了将近 2 天。它在尝试连接时崩溃(如下面的代码所示)。我得到一个例外,上面写着:

StackExchange.Redis.RedisConnectionException: '不可能 连接到 redis 服务器。无法连接 127.0.0.1:6379/Interactive,Initializing/NotStarted,last:NONE,origin:BeginConnectAsync,未完成:0,last-read:0s 前, 最后写入:0 秒前,保持活动状态:60 秒,状态:正在连接,经理:10 的 10 可用,最后一次心跳:从不,全局:5 秒前,v:2.1.30.38891'

代码在 StartUp 文件中。

            services.AddSingleton<ConnectionMultiplexer>(c =>
        {
            var configuration = ConfigurationOptions.Parse(Configuration.GetConnectionString("Redis"));

            return ConnectionMultiplexer.Connect(configuration);
        });

更新

码头工人撰写

版本:'3.4'

services:
  authdb:
    image: redis  
  authentication.api:
    image: ${DOCKER_REGISTRY-}authenticationapi
    build:
      context: .
      dockerfile: Authentication.API/Dockerfile

DOCKER 组合覆盖

版本:'3.4'

services:
  authdb:
    container_name: authdb
    restart: always
    ports:
      - "6379:6379"
  authentication.api:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
      - "ConnectionStrings:Redis=authdb:6379"
      - ASPNETCORE_URLS=https://+:443;http://+:80
    ports:
      - "80"
      - "443"
    volumes:
      - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro

【问题讨论】:

  • 你真的有一个redis服务器在本地运行在6379端口吗?
  • @DavidL 我是 Redis 新手。而且我认为我没有在本地运行 Redis。有没有办法检查?
  • Redis 是一个独立的应用程序。它不像在您的 Web 应用程序中运行的内存缓存。因此,如果您没有明确设置一个,您很可能没有配置 redis 实例。
  • 我添加了我的 Docker 应用程序的图像。你能看看吗。我猜该实例正在运行。
  • 你的redis实例是怎么绑定的?任何人都无法知道您是如何配置它的。

标签: c# redis stackexchange.redis


【解决方案1】:

如果您有其他容器,请使用 Azure 门户(附加)连接到该容器。 确保您已安装 ping

做 apt install iputils-ping 现在对 authdb 执行 ping 操作 看看ping能不能解决。

【讨论】:

    猜你喜欢
    • 2018-07-12
    • 2022-01-26
    • 1970-01-01
    • 2015-02-06
    • 2020-11-09
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多