redis-cli 什么情况下不需要输入 -h ? 公司开发机直接 redis-cli 可以进入 redis ,但是线上还需要 -h 有些不懂,求解释?

2017-11-27 16:03:15 +08:00
 mune
4443 次点击
所在节点    Redis
5 条回复
feejson
2017-11-27 16:11:07 +08:00
我是百度的搬运工:
第一种:交互式方式

[redis-cli -h {host} -p {port}方式连接,然后所有的操作都是在交互的方式实现,不需要再执行 redis-cli 了。]

$redis-cli -h 127.0.0.1-p 6379

127.0.0.1:6379>set hello world

OK

127.0.0.1:6379>get hello

"world"



第二种方式:命令方式

redis-cli -h {host} -p {port} {command}直接得到命令的返回结果。

$redis-cli -h 127.0.0.1-p 6379 get hello

"world"



redis-cli 包含很多参数,如-h,-p,要了解全部参数,可用 redis-cli -help 命令。
ps:
胡言乱语 -h 是指定 host 指定机器吧,是需要很多的机器随时切换吗
6IbA2bj5ip3tK49j
2017-11-27 16:19:42 +08:00
……
默认就是连接本机啊。
开发机可能就是本机就是 redis 啊。
正式环境与程序运行环境是分开的。所以需要-h 来指定机器。
whatsmyip
2017-11-27 23:05:33 +08:00
-h means host

这种命令行是会有很多参数可以设置的,除了少数不指定程序就没法运行的参数,大多数参数都是存在默认值的。

-h 一般就是指定 host 的,一般是默认 localhost / 127.0.0.1, 你们的开发机只有一台,所以所有的地址都是 localhost,也就不用指定-h 参数。但是生产环境下一般是多机器的,所以需要指定实际的地址。
qinxi
2017-11-27 23:21:24 +08:00
看你 redis 服务监听的端口了.如果是 127.0.0.1/0.0.0.0 那就默认 redis-cli 就行
如果是其他的 ip[内网 IP /外网 IP(一般人不这么干)] 那就需要-h 指定
binjjam
2017-11-28 09:10:45 +08:00
楼主你执行 redis-cli --help 看看,需不要加参数 -h ${HOSTNAME} 是看你连的 redis-server 地址是否为默认值( 127.1 ),其他参数同理
Usage: redis-cli [OPTIONS] [cmd [arg [arg ...]]]
-h <hostname> Server hostname (default: 127.0.0.1)
-p <port> Server port (default: 6379)
-s <socket> Server socket (overrides hostname and port)
-a <password> Password to use when connecting to the server
-n <db> Database number

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/409940

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX