日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Redis主從服務(wù)器

系統(tǒng) 2660 0

配置主從服務(wù)器

Redis主從服務(wù)器的搭建很簡單,只要少許配置即可,為了演示的方便,我們就在一臺服務(wù)器上配置:

前提是你已經(jīng)有了一臺Redis服務(wù)器,如果沒有可以參考 我以前的文章 安裝。下面看看如何配置從服務(wù)器:

假設(shè)主服務(wù)器的配置文件是:/etc/redis.conf,我們復(fù)制一份作為從服務(wù)器的配置文件:

cp /etc/redis.conf /etc/redis_slave.conf

并作修改:

# vi /etc/redis_slave.conf
port 6380
dbfilename dump_slave.rdb
slaveof 127.0.0.1 6379

主服務(wù)器的端口使用的是缺省的6379,從服務(wù)器的端口我們設(shè)置成6380。

然后插入一些測試數(shù)據(jù):

redis-benchmark

由于我們沒有設(shè)定任何參數(shù),所以使用的是缺省端口(6379),在本例中就是主服務(wù)器。

然后啟動(dòng)從服務(wù)器:

redis-server /etc/redis_slave.conf

確認(rèn)一下是否都正常啟動(dòng)了:

ps -ef | grep redis

進(jìn)入數(shù)據(jù)目錄,查一下數(shù)據(jù)文件的散列:

md5sum *.rdb

你會(huì)發(fā)現(xiàn)數(shù)據(jù)文件散列都一樣,自動(dòng)同步了。

然后我們關(guān)閉一下從服務(wù)器(不關(guān)也行,我就是為了告訴你如何正確關(guān)閉redis服務(wù)器):

redis-cli -p 6380 shutdown

接著再往主服務(wù)器上寫入測試數(shù)據(jù):

redis-benchmark -l

這會(huì)循環(huán)插入測試數(shù)據(jù),數(shù)據(jù)量的大小取決于時(shí)間的長短,你可以在適當(dāng)?shù)臅r(shí)候按ctrl+c停止。

如果從服務(wù)器沒有啟動(dòng)的話,接著再重新啟動(dòng)從服務(wù)器:

redis-server /etc/redis_slave.conf

通過觀察文件大小你會(huì)發(fā)現(xiàn)數(shù)據(jù)會(huì)自動(dòng)同步,如果沒有重啟動(dòng)從服務(wù)器,那么數(shù)據(jù)文件的md5sum散列值可能不同,這是正常的,不要緊。

在操作過程中,有時(shí)候你會(huì)發(fā)現(xiàn)主從服務(wù)器的數(shù)據(jù)文件大小不一樣,一般來說也不是問題,因?yàn)閞edis是異步寫入磁盤的,此時(shí)可能有部分?jǐn)?shù)據(jù)還在內(nèi)存中,沒有同步到磁盤,所以文件大小略顯不同,可以分別在主從服務(wù)器上執(zhí)行:

redis-cli save(redis-cli -p 6380 save)

這條命令強(qiáng)制同步到磁盤,再看大小就應(yīng)該一樣了。

配置文件redis.conf里有一部分和save相關(guān)的參數(shù),缺省如下:

# Save the DB on disk:
#
# save <seconds> <changes>
#
# Will save the DB if both the given number of seconds and the given
# number of write operations against the DB occurred.
#
# In the example below the behaviour will be to save:
# after 900 sec (15 min) if at least 1 key changed
# after 300 sec (5 min) if at least 10 keys changed
# after 60 sec if at least 10000 keys changed
save 900 1
save 300 10
save 60 10000

在主服務(wù)器上,我們可以去掉上面的設(shè)置,改成類似下面的設(shè)置(只要參數(shù)值夠大即可):

save 10000000000 10000000000

如此一來主服務(wù)器變成一個(gè)完全的內(nèi)存服務(wù)器,所有的操作都在內(nèi)存里完成,“永遠(yuǎn)”不會(huì)再往磁盤上持久化保存數(shù)據(jù),異步的也沒有。持久化則通過從服務(wù)器來完 成,這樣在操作主服務(wù)器的時(shí)候效率會(huì)更高。不過要注意的一點(diǎn)是此方法不適合保存關(guān)鍵數(shù)據(jù),否則一旦主服務(wù)器掛掉,如果你頭腦一熱簡單的重啟服務(wù),那么從服 務(wù)器的數(shù)據(jù)也會(huì)跟著消失,此時(shí),必須拷貝一份備份數(shù)據(jù)到主服務(wù)器,然后再重啟服務(wù)才可以,數(shù)據(jù)的恢復(fù)稍顯麻煩。

從服務(wù)器也可以通過設(shè)置這個(gè)參數(shù)來調(diào)整從內(nèi)存同步到磁盤的頻率。

利用主從服務(wù)器備份

可以利用主從服務(wù)器的方便性來備份,專門做一臺從服務(wù)器用于備份功能,當(dāng)需要備份的時(shí)候,在從服務(wù)器上執(zhí)行下列命令:

redis-cli save
redis-cli shutdown

然后拷貝數(shù)據(jù)目錄下的rdb文件即可。

另: 官方文檔 介紹不使用主從,直接在服務(wù)器上cp就可以,不過感覺利用從服務(wù)器備份對線上服務(wù)器影響更小些。

總結(jié)

?

如果你以前做過MySQL主從服務(wù)器的話,兩相對比,你會(huì)發(fā)現(xiàn)Redis主從服務(wù)器不用做前期的數(shù)據(jù)同步,設(shè)置好了從服務(wù)器,簡單啟動(dòng)就OK了。至于Redis主從怎么用,是備份也好,讀寫分離也好,就看你的想象力了。

資料

官方文檔

Redis主從服務(wù)器


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 无锡市| 永平县| 宁海县| 集贤县| 望城县| 曲麻莱县| 深泽县| 汤原县| 科尔| 连云港市| 大宁县| 安岳县| 潜山县| 周至县| 花垣县| 凤城市| 南宁市| 海门市| 台中市| 安阳市| 普安县| 锡林郭勒盟| 云和县| 阳朔县| 湘潭市| 含山县| 上饶县| 辉县市| 长泰县| 抚宁县| 西和县| 奈曼旗| 通辽市| 会东县| 琼结县| 九龙城区| 芦山县| 分宜县| 兰州市| 共和县| 舒城县|