您好,登錄后才能下訂單哦!
持久化:通俗講,下次開機(jī)還有數(shù)據(jù),斷電后不會丟失數(shù)據(jù),存放于磁盤。
Redis:rdb快照持久化
每隔N分鐘或N次寫操作后,從內(nèi)存dump數(shù)據(jù)形成RDB文件。壓縮,放在備份目錄。
參數(shù)詳解:
從下往上看
save 900 1 #900秒內(nèi)有1個key的變化,
save 300 10 #300秒內(nèi)有10個key的變化,
save 60 10000 #60秒內(nèi)有10000次寫入,應(yīng)該保存
stop-writes-on-bgsave-error yes #后臺存儲錯誤停止寫
redis server主進(jìn)程在導(dǎo)出的時候,客戶端請求,無法回饋。在新版本的redis中,派生出一個子進(jìn)程專門導(dǎo)出進(jìn)程。如果導(dǎo)出過程中發(fā)現(xiàn)磁盤不夠了,但是進(jìn)程還在工作。勢必會出現(xiàn)數(shù)據(jù)不一致。這里就有參數(shù)出現(xiàn),如果rdb導(dǎo)出過程中,出錯,那么就停止客戶端寫入。
rdbchecksum yes 重啟服務(wù)器,從rdb導(dǎo)入內(nèi)存的時候檢測
dbfilename dump rdb #設(shè)置rdb文件名
dir #設(shè)置工作目錄,rdb文件會寫入該路徑
實驗:
1,在/var/下創(chuàng)建dir目錄
2,修改redis配置文件,加入上面參數(shù),如dir /var/dir指定rdb存放路徑
3,重啟進(jìn)程,刪除原來的rdb生成的文件
4,利用自帶工具,生成10000個key
./redis-benchmark -n 10000
處理的請求數(shù):
99.76% <= 1 milliseconds
100.00% <= 1 milliseconds
98039.22 requests per second 1秒的請求
5,查看/var/dir下是否有文件產(chǎn)生。
6,登陸redis設(shè)置一個鍵值
127.0.0.1:6379> set site www.zixue.it
OK
7,kill redis進(jìn)程
[root@test-laoyangtest dir]# pkill -9 redis
[root@test-laoyangtest bin]# ./redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Could not connect to Redis at 127.0.0.1:6379: Connection refused
8,啟動redis進(jìn)程
[root@test-laoyangtest redis]# ./bin/redis-server ./redis.conf
9,查看設(shè)定的鍵值還在不
[root@test-laoyangtest redis]# ./bin/redis-cli
127.0.0.1:6379> get site
"www.zixue.it"
注意:有一定的缺點,因為會有異常掉電的情況。如之前打點保存了一次數(shù)據(jù),在后面的某一點又保存了一次數(shù)據(jù)。這個時候rdb就不行了。后面會繼續(xù)講AOF的工作方式。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。