日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis AOF 全持久化

發布時間:2025/3/21 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis AOF 全持久化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


簡介:

Redis AOF 持久化,將每次接收到更改 redis 數據的操作都記錄到一個 aof 文件,當服務器意外宕機或 redis 服務器非法關閉時,不會丟失數據。

可以做到數據安全化,但是性能會受到影響。

1、修改 redis.conf

shell > vim /usr/local/redis/redis.confdaemonize yes port 6379 timeout 300 loglevel debug pidfile /usr/local/redis/logs/redis.pid logfile /usr/local/redis/logs/redis.logdatabases 16#save 900 1 #save 300 10 #save 60 10000 #rdbcompression yes #dbfilename dump.rdb## 關閉 RDB 持久化dir /usr/local/redis/data/appendonly yes appendfilename appendonly.aof appendfsync everysec## 開啟 AOF 持久化,定義 aof 文件名,定義同步磁盤規則為每秒強制同步no-appendfsync-on-rewrite yes auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb## 由于 AOF 的特性是記錄每次操作,當客戶端執行相同的操作時,aof 也會記錄這些相同的每次操作,那么 aof 文件會不斷增加。
## 對于這個問題,可以使用 aof 文件的重寫功能解決 aof 文件的增長。當 aof 文件滿足一定條件時就對 aof 進行重寫,重寫是根據當前內存數據庫中的數據進行遍歷到一個臨時的 aof 文件,寫完后替換原來的 aof 文件。## no
-appendfsync-on-rewrite 參數表示在重寫期間對新接收到的寫操作不同步,暫時存在內存中,等重寫完后再寫入,防止與磁盤 IO 沖突。 ## auto-aof-rewrite-percentage 參數表示 aof 文件增長率大于這個值并且同時 aof 文件大于下面參數值時,觸發 aof rewrite ## auto-aof-rewrite-min-size 參數表示當前 aof 文件大小大于這個值時

2、測試 Redis AOF 持久化

shell > redis-server /usr/local/redis/redis.confshell > ls /usr/local/redis/data/ appendonly.aof

## 生成一個 .aof 的空文件

shell > redis-cli redis 127.0.0.1:6379> set name wang OK redis 127.0.0.1:6379> get name "wang" redis 127.0.0.1:6379> set name1 zhao OK redis 127.0.0.1:6379> get name1 "zhao" redis 127.0.0.1:6379> set name2 lun OK redis 127.0.0.1:6379> get name2 "lun" redis 127.0.0.1:6379> quitshell > cat /usr/local/redis/data/appendonly.aof *2 $6 SELECT $1 0 *3 $3 set $4 name $4 wang *3 $3 set $5 name1 $4 zhao *3 $3 set $5 name2 $3 lun

## 記錄了每一次操作

shell > kill -9 `cat /usr/local/redis/logs/redis.pid`

## 像測試 RDB 一樣,非法關閉 redis

shell > redis-server /usr/local/redis/redis.confshell > redis-cli redis 127.0.0.1:6379> get name "wang" redis 127.0.0.1:6379> get name1 "zhao" redis 127.0.0.1:6379> get name2 "lun" redis 127.0.0.1:6379> quit

## 啟動測試 keys/value 都存在。
## 建議使用 AOF 持久化的同時也使用 RDB 半持久化,AOF 的優先級是高于 RDB 的,也就是說啟動服務時是先加載 AOF ,后加載 RDB 的。
## 當 Redis 服務器磁盤壞掉時,數據如何保證不丟失? Master / slave 的方式解決!

轉載于:https://www.cnblogs.com/wangxiaoqiangs/p/5640018.html

總結

以上是生活随笔為你收集整理的Redis AOF 全持久化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。