一、前言
從接觸Redis也有兩年,平時就使用它來作緩存層,它給個人印象就是很強大,內置的數據結構很齊全,加上Redis5.0的到來,新增了不少特點功能。而Redis5.0最大的新特性就是多出了一個數據結構Stream,它是一個新的強大的支持多播的可持久化的消息隊列,能夠去了解學習一下喲。言歸正傳,之因此寫下這篇文章是由於公司裏面的電腦一直都有裝Redis可視化工具,用起來很方便,感受頗有必要在家裏本身的電腦裝上一個,在安裝使用的過程當中也出現以前遇到的一些小問題,所以寫下這篇博客記錄一下。html
二、軟件安裝
軟件版本:redis
一、CentOS 7緩存
二、Redis3.2安全
三、redis-desktop-manager-0.8.8.384數據結構
百度雲(可視化工具):https://pan.baidu.com/s/1a2UV9mHikGkGFTF6BFoqdg 密碼:ahfwtcp
官網:https://redisdesktop.com/download工具
2.一、安裝Redis
CentOS 7直接yum安裝post
yum install redis // 此方式直接安裝不是最新的版本呢
安裝最新的版本須要安裝Remi的軟件源:
yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum --enablerepo=remi install redis
安裝完畢後啓動Redis測試一下是否安裝成功:學習
一、啓動
service redis start 或者 systemctl start redis
二、檢查是否啓動
ps -A|grep redis
三、查看安裝時建立的文件
rpm -ql redis
四、查看redis版本
redis-cli --version
五、設置開機自啓
chkconfig redis on
或者
systemctl enable redis.service
看到以下則表示啓動成功
鏈接Redis:
redis-cli
2.二、安裝redis-desktop-manager
Windows下直接安裝便可
可參考官網
三、測試鏈接並拋出問題
3.一、測試鏈接
直接連接可能會出現下面問題:
3.二、拋出問題
一、Redis安裝後默認只能在localhost訪問,若在進行遠程訪問可能會被限制,不能鏈接
二、在Linux主機裏面,通常都打開防火牆,所以咱們經過Reids的默認端口6379進行訪問,可能被限制
三、在上面例子中,咱們直接使用redis-cli直接鏈接就能夠訪問了。那若是放開權限容許遠程登陸,沒有驗證機制將會致使安全問題
四、假設開放遠程鏈接權限,並設置了驗證機制,那麼Redis的主從複製又須要如何處理呢
四、解決問題
4.一、問題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
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.二、問題3
設置密碼的驗證機制有兩種方式,包括配置文件修改(永久)和命令行修改(臨時,重啓服務後無效)
a、配置文件修改
將去掉#requirepass foobared前面的註釋,並更改成本身的密碼 requirepass 密碼,最後重啓Redis
測試:
從下面的命令行能夠看到,不輸入密碼,則獲取不到數據,即設置密碼驗證機制成功
圖形化工具同理:
b、命令行修改
config get requirepass // 獲取校驗密碼 config set requirepass mypassword2 //設置密碼
4.四、問題4
若master設置了密碼則slave也要設置相應的密碼參數不然沒法進行正常複製的。
slave中配置文件內找到以下行,移除註釋,修改密碼便可。
#masterauth mstpassword
(以上是本身的一些看法,如有不足或者錯誤的地方請各位指出)
此文章僅做爲轉載記錄