不配置時,默認按rdb持久化方式。
RDB:在安裝目錄下有個conf文件裏,可配置一個時間段後,發生指定key值變化次數後,會持久化數據到磁盤,存儲爲dump.rdb文件形式,關閉服務器待下次重啓後,還會獲取之前的數據。
安裝路徑下的 conf 配置文件中 :
每900秒後發生了1次鍵值改變,就會持久化到磁盤文件save 900 1
每300秒後,發生了10次鍵值改變,會持久化數據到磁盤 save 300 10
每60秒後發生了10000次鍵值改變,則會持久化數據到磁盤文件save 60 10000
測試RDB:【期望效果10秒後發生3次鍵值改變,則會持久化磁盤】
1 在conf文件裏設置 save10 3
在redis安裝目錄下,打開wins下的dos窗口,輸入
redis-server.exe redis.windows.conf
打開redis服務器,然後打開客戶端,雙擊安裝目錄下redis-cli.exe 即可;在客戶端輸入
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set a a
OK
127.0.0.1:6379> set name a
OK
127.0.0.1:6379> set pwd 123
OK
服務端會打印保存日誌:
[3724] 18 Mar 13:44:40.725 * 3 changes in 10 seconds. Saving...
同時,在redis安裝目錄下會展示文件dump.rdb
關閉服務器,和客戶端,再次重新打開,keys *
依然能獲取剛纔存儲的三個鍵值
127.0.0.1:6379> keys *
1) "name"
2) "pwd"
3) "a"
127.0.0.1:6379> get name
"a"
127.0.0.1:6379> get pwd
"123"
127.0.0.1:6379> get a
"a"
RDB測試完畢,將 save 10 3恢復爲 save 60 10000,保存。
AOF:以日誌形式,每次寫數據都會記錄日誌,這樣會使性能降低。在conf文件中查找appendonly no
,改爲appendonly yes
,表示開啓aof持久化方式。然後,向下看,能看到
每次都會持久化#appendfsync always
每秒持久化一次 appendfsync everysec
不進行持久化 #appendfsync no
測試AOF【期望結果,每秒會持久化數據到磁盤,數據存儲文件的格式 .aof】
在wins的dos窗口以加載 conf配置文件的形式打開redis服務器,在redis安裝目錄,鍵入:redis-server.exe redis.windows.conf
,打開服務器的同時會在redis安裝目錄下
出現:appendonly.aof文件,但大小爲0kb。
打開同級目錄下的客戶端redis-cli.exe ,雙擊即可打開。
在客戶端輸入:
127.0.0.1:6379> set username abc
OK
你會發現磁盤上aof文件變成了1kb
關閉服務器,再次重新打開服務器和客戶端。
依然能獲取剛纔存儲的數據
127.0.0.1:6379> keys *
1) "username"
127.0.0.1:6379> type username
string
127.0.0.1:6379> get username
"abc"
127.0.0.1:6379>