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