bind参数在Redis中有什么作用?

usu*_* me 11 redis

bindRedis中的参数是什么?bind假设我已经知道什么bind意思(我不知道)的文档.是否bind设置的IP地址:

  • Redis服务器?(我认为这是正确的答案,但后来我不明白为什么我们需要这个)
  • 将被授权连接到Redis的客户端?(我试过但它不起作用,所以可能不正确)

sou*_*eck 13

它的redis相当于mysql bind-address选项,并且工作方式完全相同.

它将redis实例绑定到特定接口(因此特定的ip地址).

基本上,您的redis服务器只会通过该bind选项侦听与指定地址的连接.这是一种安全措施,允许删除未在特定网络内部进行的连接.

所以,如果你设置

bind 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

redis只接受与127.0.0.1建立的客户端连接(仅限本地连接).

如果你把它设置为

bind 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

它将接受与运行redis的机器上的任何接口使用的任何地址(以及因此可以对您的redis实例建立的任何连接)的连接.

如果将其设置为任何其他特定地址,则redis将期望与该特定地址建立连接,并将其余部分丢弃.

  • 我不明白“它将接受与任何地址的连接”这句话。为什么/什么时候你会接受连接到既不是 127.0.0.1 也不是服务器本身的 IP 地址的地址?这怎么会发生? (2认同)