溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

NoSQL中Redis高級(jí)實(shí)用命令有哪些

發(fā)布時(shí)間:2021-11-08 16:02:25 來源:億速云 閱讀:165 作者:小新 欄目:云計(jì)算

這篇文章主要為大家展示了“ NoSQLRedis高級(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):

NoSQL中Redis高級(jí)實(shí)用命令有哪些

第一次輸入了一個(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è)資訊頻道!

向AI問一下細(xì)節(jié)

免責(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)容。

AI