如何连接到远程Redis服务器?

duc*_*ito 79 redis

我有远程Redis服务器的URL和PORT.我能够从Scala写入Redis.但是我想通过使用终端连接到远程的Redis redis-server类似的东西,或者为了使好几拨hget,get等等(我可以与本地安装的Redis做没有任何问题).

gh9*_*gh9 156

redis-cli -h XXX.XXX.XXX.XXX -p YYYY
Run Code Online (Sandbox Code Playgroud)

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

我的开发环境中的示例

redis-cli -h 10.144.62.3 -p 30000
Run Code Online (Sandbox Code Playgroud)

REDIS CLI命令

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

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

  • 如果您不想分别输入主机和端口,也可以使用`redis-cli -u redis:// user:pass @ host:port`. (10认同)
  • 它说"无法连接到Redis at -c:6379:名称解析暂时失败" (4认同)

OM *_*iya 32

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

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

redis-cli -h host -p port
Run Code Online (Sandbox Code Playgroud)

如果您的实例受密码保护

redis-cli -h host -p port -a password
Run Code Online (Sandbox Code Playgroud)

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

然后这将是命令:

redis-cli -h my-web.cache.amazonaws.com -p 6379
Run Code Online (Sandbox Code Playgroud)

if92.101.91.8是主机 IP 地址,6379是端口:

redis-cli -h 92.101.91.8 -p 6379
Run Code Online (Sandbox Code Playgroud)

如果实例受密码保护,则命令pass123

redis-cli -h my-web.cache.amazonaws.com -p 6379 -a pass123
Run Code Online (Sandbox Code Playgroud)

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

redis-cli -u redis://password@host:port
Run Code Online (Sandbox Code Playgroud)

uri带有用户名和密码的单一形式的命令

redis-cli -u redis://username:password@host:port
Run Code Online (Sandbox Code Playgroud)

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

redis-cli -u redis://pass123@my-web.cache.amazonaws.com:6379
Run Code Online (Sandbox Code Playgroud)

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

redis-cli -u redis://user123:pass123@my-web.cache.amazonaws.com:6379
Run Code Online (Sandbox Code Playgroud)

这个详细的答案是为那些想要检查所有选项的人准备的。有关更多信息,请查看文档:Redis 命令行用法

  • @Arvin `redis-cli` 不支持 TLS 连接,因此您需要使用支持 `rediss` 协议的不同工具才能与 URI 连接。我建议使用“redli”(https://github.com/IBM-Cloud/redli) 和以下命令进行连接:“redli --tls -u rediss://default:passwd@example-redis”。 aivencloud.com:25945```。但是,如果您必须使用“redis-cli”,那么您将需要为此进行额外的配置。检查:https://redis.io/topics/encryption (3认同)
  • 如何连接到使用ssl的redis。当我尝试这个 ```redis-cli -u rediss://default:passwd@example-redis.aivencloud.com:25945``` 时,它会抛出 ```无效的 URI 方案``` 错误。 (2认同)

小智 14

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

redis-cli -h host -p port -a password
Run Code Online (Sandbox Code Playgroud)

  • 在命令行上使用密码可能不安全。更安全的版本是无需密码即可连接。```redis-cli -h host -p port``` 然后进行身份验证。```主机:6379> AUTH abcdefg``` (5认同)

小智 11

这个命令让我有点困惑的一件事是,如果redis-cli使用传递的连接字符串连接失败,它仍然会让你进入redis-clishell,即:

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

Run Code Online (Sandbox Code Playgroud)

然后你需要exit让自己脱离外壳。我在这里没有太注意并不断传入新redis-cli命令,想知道为什么该命令没有使用我传递的连接字符串。