您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“ NoSQL中Redis高級(jí)實(shí)用命令有哪些”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“ NoSQL中Redis高級(jí)實(shí)用命令有哪些”這篇文章吧。
?一、安全性
為redis設(shè)置密碼:設(shè)置客戶端連接后進(jìn)行任何其他指定前需要實(shí)用的密碼。
警告:因?yàn)閞edis速度非???,所以在一臺(tái)較好的服務(wù)器下,一個(gè)外部用戶可以在一秒鐘進(jìn)行150k次的密碼嘗試,這意味著你需要指定非常非常強(qiáng)大的密碼來防止暴力破解。
修改密碼的方法:
只需要在redis的配置文件redis.conf中開啟requirepass就可以了,比如我設(shè)置我的訪問密碼是mypassword
requirepass mypassword
在redis.conf中加入這一行代碼之后,我們殺死原來的redis進(jìn)程:pkill redis然后重新啟動(dòng)redis:/usr/local/redis-2.8.1/src/redis-server /user/local/redis-2.8.1/redis.conf
然后我們用/usr/local/redis-2.8.1/src/redis-cli發(fā)現(xiàn)還能登陸進(jìn)來,但是當(dāng)我們執(zhí)行操作的時(shí)候,比如keys *就會(huì)如下錯(cuò)誤:
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
沒有必要的授權(quán)驗(yàn)證。
在這里redis支持兩種授權(quán)方式,一種就是直接用auth命令進(jìn)行授權(quán):
第一次輸入了一個(gè)錯(cuò)誤的密碼test,授權(quán)失敗,第二次輸入正確的密碼,返回ok,授權(quán)成功,之后就可以進(jìn)行所有的操作。
如果我們不想每次登錄進(jìn)來之后都要用auth進(jìn)行授權(quán),那么我們可以采用另一種授權(quán)方式,就是在登陸客戶端的時(shí)候用-a 來指定密碼
sh-3.2# /usr/local/redis-2.8.1/src/redis-cli -a mypassword
上面的密碼如果輸錯(cuò),也能進(jìn)入,但是之后不能進(jìn)行操作。需要用auth重新進(jìn)行授權(quán)。
二、主從復(fù)制
Redis主從復(fù)制配置和使用都非常簡(jiǎn)單。通過主從復(fù)制可以允許多個(gè)slave server擁有和master server相同的數(shù)據(jù)庫(kù)副本。
redis主從復(fù)制的特點(diǎn):
1.一臺(tái)master可以擁有多個(gè)slave(1對(duì)多的關(guān)系)
2.多個(gè)slave可以連接同一個(gè)master外,還可以連接到其他slave(這樣做的原因是如果masterdown掉之后其中的一臺(tái)slave立馬可以充當(dāng)master的角色,這樣整個(gè)服務(wù)流程不受影響)
3.中從復(fù)制不會(huì)阻塞master,在同步數(shù)據(jù)的同時(shí),master可以繼續(xù)處理client請(qǐng)求。
4.提高系統(tǒng)的伸縮性
redis主從復(fù)制的過程:
1.slave與master建立連接,發(fā)送sync同步命令。
2.Master會(huì)啟動(dòng)一個(gè)后臺(tái)進(jìn)程,將數(shù)據(jù)庫(kù)快照保存到文件中,同時(shí)master主進(jìn)程會(huì)開始收集新得寫命令并緩存。
3.后臺(tái)完成保存后,將文件發(fā)送給slave
4.slave將文件保存到硬盤上
配置主從服務(wù)器:
配置slave服務(wù)器很簡(jiǎn)單,只需要在slave的配置文件中加入以下配置:
slaveof masterip masterport
如果主機(jī)開啟了登錄驗(yàn)證,那么還需要加入下面這句:
masterauth authpassword
然后啟動(dòng)從機(jī),首先主機(jī)會(huì)發(fā)快照給從機(jī),從機(jī)的數(shù)據(jù)庫(kù)會(huì)更新到和主機(jī)相同的狀態(tài),然后往主機(jī)里寫內(nèi)容,從機(jī)也會(huì)隨之更新。
如果我們?cè)趶臋C(jī)上寫數(shù)據(jù)那么會(huì)報(bào)錯(cuò):
(error) READONLY You can't write against a read only slave.
我們可以用info命令來查看主從服務(wù)器的信息,在從機(jī)上用info命令可以看到
role:slave
master_host:masterip
master_port:masterport
master_link_status:up證明和主機(jī)處在連接狀態(tài)
在主機(jī)上用info命令
role:master
同時(shí)連接著幾臺(tái)從機(jī)
connected_slaves:1
同時(shí)可以查看連接到主機(jī)上的從機(jī)的ip和在線狀態(tài)
slave0:ip=192.168.1.107,port=6379,state=online,offset=1709,lag=1
以上是“ NoSQL中Redis高級(jí)實(shí)用命令有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。