1、前言
从接触Redis也有两年,平时就使用它来做缓存层,它给我的印象就是很强大,内置的数据结构很齐全,加上Redis5.0的到来,新增了很多特色功能。而Redis5.0最大的新特性就是多出了一个数据结构Stream,它是一个新的强大的支持多播的可持久化的消息队列,可以去了解学习一下哟。言归正传,之所以写下这篇文章是因为公司里面的电脑一直都有装Redis可视化工具,用起来很方便,感觉很有必要在家里自己的电脑装上一个,在安装使用的过程中也出现之前遇到的一些小问题,因此写下这篇博客记录一下。
2、软件安装
软件版本:
1、CentOS 7
2、Redis3.2
3、redis-desktop-manager-0.8.8.384
百度云(可视化工具):https://pan.baidu.com/s/1a2UV9mHikGkGFTF6BFoqdg 密码:ahfw
官网:https://redisdesktop.com/download
2.1、安装Redis
CentOS 7直接yum安装
yum install redis // 此方式直接安装不是最新的版本呢
安装最新的版本需要安装Remi的软件源:
yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum --enablerepo=remi install redis
安装完毕后启动Redis测试一下是否安装成功:
1、启动
service redis start 或者 systemctl start redis
2、检查是否启动
ps -A|grep redis
3、查看安装时创建的文件
rpm -ql redis
4、查看redis版本
redis-cli --version
5、设置开机自启
chkconfig redis on
或者
systemctl enable redis.service
看到如下则表示启动成功
连接Redis:
redis-cli
2.2、安装redis-desktop-manager
Windows下直接安装即可
可参考官网
3、测试连接并抛出问题
3.1、测试连接
直接链接可能会出现下面问题:
3.2、抛出问题
1、Redis安装后默认只能在localhost访问,若在进行远程访问可能会被限制,不能连接
2、在Linux主机里面,一般都打开防火墙,因此我们通过Reids的默认端口6379进行访问,可能被限制
3、在上面例子中,我们直接使用redis-cli直接连接就可以访问了。那如果放开权限允许远程登录,没有验证机制将会导致安全问题
4、假设开放远程连接权限,并设置了验证机制,那么Redis的主从复制又需要如何处理呢
4、解决问题
4.1、问题1
我们可以通过修改Redis的配置文件即可解决
a、注释掉bind 127.0.0.1允许所有的ip访问redis
b、将修改为:protected-mode no (Redis3.2新增的)
whereis redis // 查找配置文件路径 vi /etc/redis.conf systemctl restart redis // 修改好配置文件后保存并重启
解决完这个问题后,即表明Redis软件本身允许远程连接了,但是我们还需要解决防火墙的问题才可以进行远程连接。
4.2、问题2
CentsOS7防火墙改成firewall,不再是之前的iptables,因此开放端口的方式有点区别。
开放端口如下: firewall-cmd --zone=public --add-port=6379/tcp --permanent --zone //作用域 --add-port=6379/tcp //添加端口,格式为:端口/通讯协议 --permanent //永久生效,没有此参数重启后失效 重启防火墙: systemctl stop firewalld.service systemctl start firewalld.service systemctl restart firewalld.service
测试连接:
连接成功
4.2、问题3
设置密码的验证机制有两种方式,包括配置文件修改(永久)和命令行修改(临时,重启服务后无效)
a、配置文件修改
将去掉#requirepass foobared前面的注释,并更改为自己的密码 requirepass 密码,最后重启Redis
测试:
从下面的命令行可以看到,不输入密码,则获取不到数据,即设置密码验证机制成功
图形化工具同理:
b、命令行修改
config get requirepass // 获取校验密码 config set requirepass mypassword2 //设置密码
4.4、问题4
若master设置了密码则slave也要设置相应的密码参数否则无法进行正常复制的。
slave中配置文件内找到如下行,移除注释,修改密码即可。
#masterauth mstpassword
(以上是自己的一些见解,若有不足或者错误的地方请各位指出)
作者:那一叶随风 http://www.cnblogs.com/phpstudy2015-6/
原文地址: https://www.cnblogs.com/phpstudy2015-6/p/9536831.html
声明:本博客文章为原创,只代表本人在工作学习中某一时间内总结的观点或结论。转载时请在文章页面明显位置给出原文链接