【问题标题】:How to connect to remote Redis server?如何连接到远程 Redis 服务器?
【发布时间】:2017-04-02 09:50:19
【问题描述】:

我有远程 Redis 服务器的 URL 和端口。我可以从 Scala 写入 Redis。但是,我想通过终端使用redis-server 或类似的东西连接到远程Redis,以便多次调用hgetget 等(我可以使用本地安装的Redis 来完成,没有任何问题)。

【问题讨论】:

    标签: redis


    【解决方案1】:
    redis-cli -h XXX.XXX.XXX.XXX -p YYYY
    

    xxx.xxx.xxx.xxx 是 IP 地址,yyyy 是端口

    我的开发环境中的示例

    redis-cli -h 10.144.62.3 -p 30000
    

    REDIS CLI COMMANDS

    主机、端口、密码和数据库 默认情况下 redis-cli 连接到 服务器位于 127.0.0.1 端口 6379。您可以猜到,您可以轻松更改 这使用命令行选项。指定不同的主机名或 IP 地址,使用 -h。要设置不同的端口,请使用 -p。

    redis-cli -h redis15.localnet.org -p 6390 ping

    【讨论】:

    • 上面写着Could not connect to Redis at -c:6379: Temporary failure in name resolution
    • @duckertito-ABle 可以解决这个问题吗?我也面临同样的情况
    • 如果不想单独输入主机和端口,也可以使用redis-cli -u redis://user:pass@host:port..
    • 主机有一个不断变化的 IP 地址(如果您没有网络访问权限,则没有)。我们建议您连接到特殊的 DNS 名称 host.docker.internal ,它解析为主机使用的内部 IP 地址所以 docker run -it --rm bitnami/redis:latest redis-cli -h host.docker.internal -p 6379 应该可以工作
    【解决方案2】:

    如果是密码,我们还需要再传递一个参数

    redis-cli -h host -p port -a password
    

    【讨论】:

    • 在命令行上使用密码可能不安全。更安全的版本是无需密码即可连接。 redis-cli -h host -p port 然后进行身份验证。 host:6379> AUTH abcdefg
    【解决方案3】:

    使用redis-cli连接远程redis服务器有两种方式:

    1。在命令中单独使用主机和端口作为选项

    redis-cli -h host -p port
    

    如果您的实例受密码保护

    redis-cli -h host -p port -a password
    

    例如如果my-web.cache.amazonaws.com 是主机地址,6379 是端口

    那么这将是命令:

    redis-cli -h my-web.cache.amazonaws.com -p 6379
    

    如果92.101.91.8是主机IP地址,6379是端口:

    redis-cli -h 92.101.91.8 -p 6379
    

    如果实例使用密码pass123 保护,则命令:

    redis-cli -h my-web.cache.amazonaws.com -p 6379 -a pass123
    

    2。在命令中使用单个 uri 选项

    redis-cli -u redis://password@host:port
    

    带有用户名和密码的单个uri 表单中的命令

    redis-cli -u redis://username:password@host:port
    

    例如对于相同的上述主机 - 端口配置命令将是

    redis-cli -u redis://pass123@my-web.cache.amazonaws.com:6379
    

    如果还提供用户名,则命令user123

    redis-cli -u redis://user123:pass123@my-web.cache.amazonaws.com:6379
    

    这个详细的答案是为那些想要检查所有选项的人准备的。 更多信息查看文档:Redis command line usage

    【讨论】:

    • 如何连接到使用ssl的redis。当我尝试这个redis-cli -u rediss://default:passwd@example-redis.aivencloud.com:25945 时,它会抛出Invalid URI scheme 错误。
    • @Arvin redis-cli 不支持 TLS 连接,因此您需要使用支持 rediss 协议的其他工具才能使用 URI 进行连接。我建议使用redli(github.com/IBM-Cloud/redli) 和这个命令来连接:redli --tls -u rediss://default:passwd@example-redis.aivencloud.com:25945。但如果你一定要使用redis-cli,那么你将需要为此做额外的配置。检查:redis.io/topics/encryption
    【解决方案4】:

    这个命令让我有点困惑的是,如果redis-cli 无法使用传递的连接字符串进行连接,它仍会将您置于redis-cli shell 中,即:

    redis-cli
    Could not connect to Redis at 127.0.0.1:6379: Connection refused
    not connected> 
    
    

    然后您需要exit 才能让自己摆脱困境。我在这里没太注意,一直在传递新的redis-cli 命令,想知道为什么该命令没有使用我传递的连接字符串。

    【讨论】:

      猜你喜欢
      • 2013-05-24
      • 2013-11-17
      • 2021-04-06
      • 2014-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      相关资源
      最近更新 更多