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

 声明:本博客文章为原创,只代表本人在工作学习中某一时间内总结的观点或结论。转载时请在文章页面明显位置给出原文链接

 

版权声明:本文为phpstudy2015-6原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/phpstudy2015-6/p/9536831.html