1、安全性redis
爲redis設置密碼:設置客戶端鏈接後進行任何其餘指定前須要實用的密碼。數據庫
警告:由於redis速度很是快,因此在一臺較好的服務器下,一個外部用戶能夠在一秒鐘進行150k次的密碼嘗試,這意味着你須要指定很是很是強大的密碼來防止暴力破解。緩存
修改密碼的方法:安全
只須要在redis的配置文件redis.conf中開啓requirepass就能夠了,好比我設置個人訪問密碼是mypassword服務器
requirepass mypasswordui
在redis.conf中加入這一行代碼以後,咱們殺死原來的redis進程:pkill redis而後從新啓動redis:/usr/local/redis-2.8.1/src/redis-server /user/local/redis-2.8.1/redis.confspa
而後咱們用/usr/local/redis-2.8.1/src/redis-cli發現還能登錄進來,可是當咱們執行操做的時候,好比keys *就會以下錯誤:.net
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.server
沒有必要的受權驗證。blog
在這裏redis支持兩種受權方式,一種就是直接用auth命令進行受權:
第一次輸入了一個錯誤的密碼test,受權失敗,第二次輸入正確的密碼,返回ok,受權成功,以後就能夠進行全部的操做。
若是咱們不想每次登陸進來以後都要用auth進行受權,那麼咱們能夠採用另外一種受權方式,就是在登錄客戶端的時候用-a 來指定密碼
sh-3.2# /usr/local/redis-2.8.1/src/redis-cli -a mypassword
上面的密碼若是輸錯,也能進入,可是以後不能進行操做。須要用auth從新進行受權。
2、主從複製
Redis主從複製配置和使用都很是簡單。經過主從複製能夠容許多個slave server擁有和master server相同的數據庫副本。
redis主從複製的特色:
1.一臺master能夠擁有多個slave(1對多的關係)
2.多個slave能夠鏈接同一個master外,還能夠鏈接到其餘slave(這樣作的緣由是若是masterdown掉以後其中的一臺slave立馬能夠充當master的角色,這樣整個服務流程不受影響)
3.中從複製不會阻塞master,在同步數據的同時,master能夠繼續處理client請求。
4.提升系統的伸縮性
redis主從複製的過程:
1.slave與master創建鏈接,發送sync同步命令。
2.Master會啓動一個後臺進程,將數據庫快照保存到文件中,同時master主進程會開始收集新得寫命令並緩存。
3.後臺完成保存後,將文件發送給slave
4.slave將文件保存到硬盤上
配置主從服務器:
配置slave服務器很簡單,只須要在slave的配置文件中加入如下配置:
slaveof masterip masterport
若是主機開啓了登陸驗證,那麼還須要加入下面這句:
masterauth authpassword
而後啓動從機,首先主機會發快照給從機,從機的數據庫會更新到和主機相同的狀態,而後往主機裏寫內容,從機也會隨之更新。
若是咱們在從機上寫數據那麼會報錯:
(error) READONLY You can't write against a read only slave.
咱們能夠用info命令來查看主從服務器的信息,在從機上用info命令能夠看到
role:slave
master_host:masterip
master_port:masterport
master_link_status:up證實和主機處在鏈接狀態
在主機上用info命令
role:master
同時鏈接着幾臺從機
connected_slaves:1
同時能夠查看鏈接到主機上的從機的ip和在線狀態
slave0:ip=192.168.1.107,port=6379,state=online,offset=1709,lag=1