很久之前就看过Redis的持久化方式,最近又复习了下Redis 就随便写写
快照(snapshotting)RDB
某一时刻所有数据写入硬盘
创建快照的方法
bgsave命令 开启子线程执行快照,父线程继续服务
缺点:会引起卡顿
save命令 直接进行快照 不在响应任何其他命令
缺点:会丢失部分
save 60 10000 意思60秒内有10000次写入 就执行bgsave命令,如果有多个配置每满足一次就执行一次
shutdown 1 不在接受任何请求 2 备份 3 关闭服务器
sync 复制命令
建议 写脚本每天凌晨3点定时快照 50GB 大概3到5分钟
只追加文件(append-only file)-AOF
追加写命令
选项 同步频率
always 每个Redis写命令都要同步写入硬盘 这样会降低Redis的速度 硬盘限制
everysec 每秒执行一次同步,每次将多个命令同步到硬盘 推荐
no 让操作系统决定何时同步 丢失不定量的数据
注意:always收到硬盘写的限制,大概支持每秒并发200个写命令,固态大概几万个
思维导图
使用
视数据的重要情况,还有内存情况,硬盘情况而定。
————————————————————————————————————chenchen