我在Mac操作系统Catalina上工作,当客户端配置为localhost时遇到问题;我相信它只是试图只协调IPV6地址,而不是IPV4。例如:
irb(main):004:0> $redis = Redis.new(host: 'localhost')
=> #<Redis client v3.2.2 for redis://localhost:6379/0>
irb(main):005:0> $redis.set('drink','water')
Redis::CannotConnectError: Error connecting to Redis on localhost:6379 (Redis::TimeoutError)
但如果指定为127.0.0.1,则工作正常。我对Memcached也有同样的问题。
一个含义是MySQL之类的东西的语义不同,其中localhost和127.0.0.1表示不同的东西,但这是一个异常值(例如这个MySQL localhost!=127.0.0.1?(。
我认为还有一个更大的问题,但如果你只是想关闭IPv6。
- 打开系统首选项>网络
- 从左侧面板中选择活动网络适配器(Wi-Fi或以太网(
- 单击右侧面板中的"高级"按钮
- 接下来,单击TCP/IP选项卡
- 选择配置IPv6下拉菜单,并将其设置为关闭
- 单击"确定"按钮
- 重新启动Mac以确保禁用IPv6