windows 下配置redis 让其他主机访问本机的redis数据

在做一个分布式项目的时候,redis不使用 ip 127.0.0.1 启动的时候一直报错。

即使使用本机的地址也会报错。然后自己去网上找了一些资料都没有解决。网上一些资料又说改配置文件 把 redis-windows-conf 里面的 protected-mode设置为 no(原本的值是yes)

这些方法都使用过了但是还是没有解决问题。java程序启动,读取redis配置文件然后,连接redis数据库的时候还是不可以使用本机的 ip 地址。

redis服务安装在win7上,ip:192.168.1.101。而我是要在mac上进行连接。

我的解决方法是在mac下打开命令行,在里面输入redis-cli -h 192.168.1.101 -p 6379(redis的默认端口) 发现可以进入

输入keys * 查看redis下所有的key 。然后redis客户端报错。报错信息如下

windows 下配置redis 让其他主机访问本机的redis数据

其实里面已经告诉了我们怎么去解决这个问题,退出当前mac命令行。

在win7打开dos,输入 redis-cli 重新进入 redis客户端

输入 config set protected-mode no 

windows 下配置redis 让其他主机访问本机的redis数据

此时我们再进入退出win7的redis客户端。

在mac上输入redis-cli -h 192.168.1.101  -p 6379,再输入 keys *

这个时候我们就可以访问,修改redis里面的数据了。

windows 下配置redis 让其他主机访问本机的redis数据

其他的物理机器也可以通过我本机的ip地址访问到我的redis数据库。这个问题就基本上解决了。

ps:其实我也不知道为什么网上的方法我尝试了之后都不行。但是学到了一个道理。程序报错,一定要先去看报错的日志。

根据日志提醒自己先去解决,解决不了的问题再去网上找资料。

 

非局域网访问redis

1.reids服务器的6379端口telnet不通

windows 下配置redis 让其他主机访问本机的redis数据

2.查看reids进程和端口,都是存在的。只是ip地址是127.0.0.1而不是0.0.0.0,只是本机能使用

windows 下配置redis 让其他主机访问本机的redis数据

3.查找redis的配置文件redis.windows.conf

windows 下配置redis 让其他主机访问本机的redis数据

4.查找bind 127.0.0.1所在的行数,改为bind 0.0.0.0

windows 下配置redis 让其他主机访问本机的redis数据

5.重启redis-server(可指定配置文件启动)

windows 下配置redis 让其他主机访问本机的redis数据

windows 下配置redis 让其他主机访问本机的redis数据