Redis进阶-bind参数详解

在这里插入图片描述


redis.conf

Redis Version: 5.0.3

在这里插入图片描述

毫无疑问,看官方的配置文件的解读 .

bind 配置的是 redis server 网卡的地址 ,配置哪个网卡地址,你就可以通过哪个网卡地址访问redis ,而不是外部访问redis的ip 列表。

在这里插入图片描述
可以看到,我这个主机上有两个网卡,1个是回环地址 127.0.0.1 ,另外一个是 eno16777736对应的192.168.18.130 。

所以 bind 建议配置 : 127.0.0.1 192.168.18.130


验证bind

bind 127.0.0.1

假设我们使用默认的配置文件,即bind 127.0.0.1 .

启动redis后 , 在redis server本机上访问 redis server

[redis@artisan bin]$ ./redis-cli 
127.0.0.1:6379> 
127.0.0.1:6379> set artisanK artisanV
OK
127.0.0.1:6379> 

redis server 本机客户端 可以连接操作 。


我们尝试使用代码或者RedisDesktopManager访问下 192.168.18.130

 Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to 192.168.18.130:6379] with root cause

在这里插入图片描述

外部通过 192.168.18.130 无法访问,因为你配置了bind 127.0.0.1 这个回环网卡地址,redis server 只接收这个网卡过来的连接。


bind 192.168.18.130

在这里插入图片描述
外部通过 192.168.18.130 可以访问,因为你配置了bind 192.168.18.130,redis server 只接收这个网卡过来的连接。


redis server 本机

在这里插入图片描述

停止redis 服务也要通过 -h 指定ip
在这里插入图片描述

那怎么访问呢? 通过 -h 指定ip

在这里插入图片描述

本机访问redis 居然不行。。。因为你配置了bind 192.168.18.130,redis server 只接收这个网卡过来的连接,没有配置 127.0.0.1 这个网络地址,redis server 自然不会接收这个回环地址发送过来的连接请求。


bind 192.168.18.130 127.0.0.1

[redis@artisan bin]$ ./redis-cli 
127.0.0.1:6379> set artisanKey artisanValue
OK
127.0.0.1:6379> get artisanKey
"artisanValue"
127.0.0.1:6379> 
127.0.0.1:6379> 

在这里插入图片描述

外部通过 192.168.18.130 可以访问,本机通过127.0.0.1 可以访问。 因为你配置了bind 127.0.0.1 192.168.18.130,redis server 只接收192.168.18.130 27.0.0.1 这两个网卡过来的连接。


发布了827 篇原创文章 · 获赞 2062 · 访问量 420万+

猜你喜欢

转载自blog.csdn.net/yangshangwei/article/details/105037041