1.对于docker安装的redis的远程连接
1.查看本地是否有redis镜像
docker images
可以看到本地已经有redis了,为了测试,我再下载一个最新版本的redis
2.拉取redis镜像
docker pull redis
3.此时查看本地镜像,可以看到,最新版本的redis镜像已经下载成功
4.创建redis容器,并查看是否已启动
docker run -id --name=myredis -p 6379:6379 redis --requirepass 123qwe
docker ps
–requirepass 123qwe指定远程连接认证的密码为123qwe
-p 6379:6379 端口映射,保持默认6379
可以看到我们服务器上的redis已经成功启动.
5.客户端进入redis的src目录下,使用redis-cli进行连接
cd /usr/local/redis-5.0.7/src/
./redis-cli -h 139.224.237.193 -p 6379 -a 123qwe
-h :远程主机ip
-p:端口号
-a:密码
可以看到,连接完全没问题.并且我们使用shutdown关闭了redis连接,此时服务器的redis 也优雅的关闭了
服务端再次启动,客户端再次连接,查看数据是否保存了
docker start myredis
发现数据咋不见了呢,哈哈可以在shutdown时加上save,然后服务器再次重新启动redis,再连接后发现数据已经保存下来了.问题解决
docker start myredis
另外连接时也可以只指定远程主机的Ip,再进行密码验证,如下
/redis-cli -h 139.224.237.193
Auth 密码
2.对于普通安装redis的远程连接
普通安装的redis和docker安装下的连接几乎一样,唯一注意的是只需要修改redis安装目录下redis.conf配置文件,让bind 监听0.0.0.0,允许所有ip而不是本地127.0.0.1.另外设置requirepass,设置好连接密码,客户端就可以使用redis-cli连接了,连接方法同上.
可以看到人家redis的提示:暴露所有的端口是很危险的,强制监听ipv4的回环端口,也就是本地连接.如果你确定你想要不安全的监听所有的端口,只需注释掉这行bind即可,当然,我们也可以修改为bind 0.0.0.0或者指定ip的连接.
考虑到向后兼容,requirepass默认是注释掉的,当然,我们可以设置,如123789.
与此同时,也可以修改redis以守护进程的方式启动.默认是no以非守护进程运行.
保存修改后,启动redis-server时加上这个配置文件.
方便起见,这次我们就开个本地连接测试了(of course,you can connect remotely!)
still no problem,只是中文好像有乱码.解决办法,连接时加上–raw
好了,redis 的远程连接测试就到这里了.