Redis bind属性的配置与redis连接

来源:互联网 发布:snmp 网络拓扑 编辑:程序博客网 时间:2024/06/14 08:01
Redis连接
做一个项目碰到一个问题需要用到redis来解决。
发现在本地和测试环境都挺好用的,redis连接都没有出问题。但是到了集群环境下的正式环境就不行了。
关于redis的连接。
  • 首先部署redis的那台服务器网络必须是ping得通的。
  • redis的启动端口必须打开,默认是6379
  • 集群环境下redis.windows.conf文件里的Bind属性的配置


要理解这个属性其实有点绕,网上好多错误的理解,请大家不要相信。
先说一句精华的话:
bind配置了什么ip,别人就得访问bind里面配置的ip才访问到redis服务。

一台主机,可能会有多张网卡,或者对应多网段内网的Ip,公网IP等,也就意味着其他机器可以通过多个IP地址访问到这台主机。
假如 有ip1,ip2,ip3可以访问到一台服务器。
但是redis bind只配置了
bind ip1 ip2

那如果是远程连接redis服务的话就只能通过ip1和ip2来访问。ip3不行。即使你可以ping得通。

误会是怎样产生的。
特殊情况:
bind 127.0.0.1

这样配置的意思是,要访问到我的redis服务就只能通过127.0.0.1这个ip来访问,额。。。那这样不管是哪台机都不可能访问到啦,一输入这个127.0.0.1,就连到自己本地了,呵呵。
这样恰好又起到了只能本地访问的效果,所以网上的误会也就这样产生了。以为bind配置了哪个IP,就得对应的IP的机器才能访问。

还有个特殊情况:
bind 0.0.0.0

0.0.0.0,最特殊的一个IP地址,代表的是本机所有ip地址,不管你有多少个网口,多少个ip,如果监听本机的0.0.0.0上的端口,就等于监听机器上的所有IP端口。
bind 0.0.0.0等价于 不配置 bind 即注释掉bind

注意:
bind ip1 ip2 ip3 ip4
ip1 ip2 ip3 都是本机所属的ip地址,但ip4如果是你随便乱写的ip,根本不是本机的ip,不好意思,会直接报错,redis都起不来。