redis持久化的取捨和選擇
持久化
redis所有資料保持在記憶體中,對資料的更新將非同步的儲存在磁碟上
持久化方式
- 快照 1: Mysql dump 2:redis rdb
- 寫日誌 1:mysql binlog 2: hbase hlog 3:redis aof
RDB
redis建立記憶體--- RDB(二進位制)硬碟中
redis啟動載入 ----RDB(二進位制)
觸發機制 主要三種方式
- save(同步)
- bgsave(非同步)
- 自動
save命令
客戶端 儲存檔案後建立RDB檔案 二進位制 儲存的時候會阻塞
檔案策略:如果存在新的RDB檔案會替換老
複雜度:O
bgsave
1:bgsave
2:fork (依然會阻塞redis)
3:create RDB
4:bgsave successfully
子程式
bgsave
background saving started
檔案策略和複雜度相同
save與bgsave對比
命令 | save | bgsave |
---|---|---|
IO型別 | 同步 | 非同步 |
阻塞 | 是 | 是阻塞在fork |
複雜度 | O | O |
優點 | 不會消耗記憶體 | 不阻塞客戶端命令 |
缺點 | 阻塞客戶端命令 | 需要fork,消耗記憶體 |
自動生成RDB
save配置 :60秒鐘 生成1萬條
預設配置
配置 | seconds | change |
---|---|---|
save | 900 | 1 |
save | 300 | 10 |
save | 60 | 10000 |
save 900 1
save 300 10
save 60 10000
dbfilename dump.rdb
dir ./
stop-writes-on-bgsave-error yes 如果出現錯誤是否繼續 是
rdbcompression yes 是否對資料進行壓縮 是
rdbchecksum yes 是否對資料進行校驗 是
dbfilename dump-${port}.rdb
dir /bigdiskpath 大硬碟路徑
觸發機制 不容忽略方式
1:全量複製
2:debug reload
3:shutdown
mkdir data
mkdir config
rm -rf redis-6382.conf
cp ../redis.conf .
ll
vim redis-6379.conf
#修改配置
daemonize 守護程式方式 yes
pidfile redis-6379.pid
logfile "6379.log"
#save 900 1
#save 300 10
#save 60 10000
dbfilename dump-6379.rdb
redis-server redis-6379.conf
wq
redis-server redis-6379.conf
redis-cli
dbsize
info memory
redis-cli
set hello world
get hello
save
get hello (在阻塞)
bgsave
Background saving started
redis-cli shutdown
redis-server redis-6379.conf
dbsize
RDB總結
1:RDB是Redis記憶體到硬碟的快照,用於持久化
2:save通常會阻塞redis
3:bgsave不會阻塞redis,但是會fork新程式
4:save自動配置滿足任一就會被執行
5:有些觸發機制不容忽視
相關文章
- Redis RDB和AOF取捨和選擇Redis
- Redis高可用詳解:持久化技術及方案選擇Redis持久化
- css 選擇器效能的取捨。和大量標籤帶有都是classCSS
- Redis的兩種持久化方式-快照持久化(RDB)和AOF持久化Redis持久化
- Redis持久化RDB和AOFRedis持久化
- Redis持久化(RDB 和 AOF)Redis持久化
- Redis 的持久化Redis持久化
- Redis的持久化Redis持久化
- Redis持久化RDB和AOF的概念Redis持久化
- 【Redis篇】Redis持久化方式AOF和RDBRedis持久化
- Redis 持久化之RDB和AOFRedis持久化
- Redis持久化 (RDB和AOF) 梳理Redis持久化
- Redis 持久化Redis持久化
- Redis - 持久化Redis持久化
- redis持久化Redis持久化
- [Redis]持久化Redis持久化
- Redis的持久化方案Redis持久化
- Redis的持久化方式Redis持久化
- Redis的持久化策略Redis持久化
- redis的 rdb 和 aof 持久化的區別Redis持久化
- Redis資料持久化—RDB持久化與AOF持久化Redis持久化
- Redis篇:持久化、淘汰策略,快取失效策略Redis持久化快取
- 【Redis 系列】redis 學習八,redis 持久化 RDB 和 AOFRedis持久化
- 配置方案:Redis持久化RDB和AOFRedis持久化
- redis持久化和主從複製Redis持久化
- redis ——AOF持久化Redis持久化
- Redis 持久化方案Redis持久化
- redis 之 持久化Redis持久化
- Redis:持久化篇Redis持久化
- Redis 持久化(Persistence)Redis持久化
- redis-持久化Redis持久化
- Redis 七 持久化Redis持久化
- redis持久化策略Redis持久化
- Redis之持久化Redis持久化
- redis 持久化策略Redis持久化
- redis之 Redis持久化配置Redis持久化
- redis系列:RDB持久化與AOF持久化Redis持久化
- Redis - 2 - 聊聊Redis的RDB和AOF持久化 - 更新完畢Redis持久化