一、引言
今天本来没有打算写这篇文章,但是,今天测试Redis的时候发现了两个问题,第一个问题是:Redis Desktop Manager无法连接虚拟机上Linux系统上的Redis服务,第二个问题是:我本地有2个版本的Redis服务,一个是Windows版本的Redis服务,另一个版本是Linux版本的Redis服务,Linux系统上的Redis可以连接Windows系统上的Redis服务,但是Windows系统上的Redis不能访问Linux系统上的Redis服务。其实这两个问题都是由于一个原因引起的,那就是虚拟机上的Linux系统的6379端口号没开启导致的,对于第一次使用redis的情况来说,可能就是毁灭性的。我解决了这些问题,把解决过程记录下来,也是为了给第一次使用Redis的程序员们提提醒,也为自己以后查询方便。使用Redis Desktop Manager连接Window下的Redis服务很简单,没什么可说的。如果大家要想下载Redis Desktop Manager 工具,可以去它的官网下载,地址如下:https://redisdesktop.com/download ,当然,可以有其他的管理Redis的可视化工具,那就是Redis Studio,去百度上可以直接下载。话不多说,我们进入正题吧。
二、安装和问题解决
1、我们先去官网下载Redis Desktop Mananger工具,这个工具是可视化的,可以很好的管理Redis服务,操作各种命令。很方便和简单。
2、下载下来,双击文件运行,安装文件。此步直接点击【下一步】。
3、在该步,我们同意协议,继续安装,点击【I Agree(同意)】,继续安装步骤。
4、在该步,选择要安装文件的目录,然后点击【Install (安装)】,继续安装步骤。
5、在此步,我们可以看到安装的进度,等待安装完成。
6、安装完成,我们继续点击【Next(下一步)】,继续安装步骤。
7、安装完成,点击【Finish(完成)】,并选择【Run Redis Desktop Manager】选项。
8、我们开始使用Redis Desktop Manager工具连接Redis服务。点击左下角的【connect to redis server】按钮,开始连接redis服务。
9、打开连接窗口,该窗口有四个可以选择的连接窗口,我们默认选择第一种,就是【Connection】,其他窗口如下:
该窗口输入的参数是连接Windows系统上的Redis服务,直接输入【Name(名称)】,【Host(服务器)】和端口号【Port(端口号)】,如果有密码,需要在【Auth】输入栏输入密码,没有就为空,然后点击【Test Connection(测试连接)】,弹出测试成功的窗口,点击【OK(确定)】。然后点击【Connection(连接)】窗口的【OK(确定)】按钮,连接成功。
SSL窗口:
SSH Tunnel窗口:
Advanced Settings窗口:
10、正在连接Redis服务器
11、然后我们按着同样的方法,连接Linux系统上的Redis服务的时候出现失败。我们要解决问题,有几个操作要确定,操作步骤如下:
11.1】第一步,我们要确定Redis的配置文件Redis.conf里面的bind项目的值是我们Linux系统的IP地址,不是默认的127.0.0.1.
//执行命令如下 192.168.127.128:6379>ifconfig //会显示系统的ip地址信息 192.168.127.128:6379>config get bind 1)"bind" 2)"192.168.127.128"
11.2】、如果上一步正常,获取Linux的IP地址,然后在Windows系统下,打开cmd窗口,执行一下命令 telnet 192.168.127.128 6379,如果测试连接失败,说明CentOS的6379端口没有开启
telnet 192.168.127.128 6379
如果telnet命令无效,提示“telnet不是内部或外部命令”,你需要去【控制面板】,打开【程序和功能】,然后打开【启动和关闭Windows功能】窗口,在窗口滑动列表,找到【telnet客户端】选项,然后选择该项,Window系统会安装对telnet命的支持。
11.3】、开启端口,让我们回到虚拟机,执行以下命令来开启端口。
[root@linux~]#firewall-cmd --query-port=6379/tcp no [root@linux~]#firewall-cmd --add-port=6379/tcp success [root@linux~]#firewall-cmd --query-port=6379/tcp yes //输入firewall-cmd --query-port=6379/tcp,如果返回结果为no,那么证明6379端口确实没有开启。 //输入firewall-cmd --add-port=6379/tcp,将6379端口开启,返回success。 //然后再执行上一条命令,返回yes,证明端口已经成功开启。 //由于linux防火墙默认开启,redis的服务端口6379并不在开放规则之内,所有需要将此端口开放访问或者关闭防火墙。 //关闭防火墙命令:sevice iptables stop //如果是修改防火墙规则,可以修改:/etc/sysconfig/iptables文件 //再用Telnet 测.返回的结果一片纯黑,ok了
在Linux系统上执行开启端口命令:
11.4】、所有操作完成后,Linux系统上的Redis可以连接成功了。
11.5】、Windows和Linux系统上的Redis 连接成功,效果如图。
12、完成以上操作,所有工作完成。
三、总结
今天解决了一个问题,感觉很好,只有自己亲身走一遍,才可以了解更清楚,道听途说,是不靠谱的。当然redis的可视化管理工具,并不是只有redis desktop manager,在此,我在向大家推荐一款redis图形化操作的客户端Redis Studio,比Redis Desktop Manager好用太多,可以查看运行情况、查看数据和类型、查看剩余有效时间、刷新数据、删除数据,甚至可以直接在图形界面配置redis,再也不用去配置文件里懵逼了。虽然我们有了好的工具,但是基本功还是不能忘记的。好了,今天就到这里了,但是努力还要继续,下一篇文章介绍一下lua脚本,