- 【版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任】
- 【创作不易,点个赞就是对我最大的支持】
前言
仅作为学习笔记,供大家参考
总结的不错的话,记得点赞!
Redis的淘汰策略和持久化策略?
持久化策略分为:
一、RDB(快照)
1.把内存数据库以快照的形式保存在redis的2进制文件中
2.也可以对redis设置多少秒内自动保存一次数据
3.手动生成RDB快照:
就是两个命令,一个是同步命令save(不会消耗额外内存,会阻塞客户端命令),一个是异步命令bgsave(会消耗内存,但是不阻塞客户端命令)
4.缺点:不耐久,如果宕机服务器会丢失最近写入未保存到快照中的数据
二、AOF(持久)
1.每执行一个数据库操作命令时,这个命令就会追加到AOF文件的末尾,这样就算是宕机,程序也可以重新执行AOF文件来重建数据库
2.你也可以配置redis多久将数据同步到磁盘中,有三种策略:
1.每次有新命令都同步一次:非常慢,但是安全
2.(推荐)每秒同步一次,足够快,就算是宕机也只会损失一秒的数据(兼顾速度和安全)
3.从不同步,交给系统来处理,更快,但是最不安全
三、AOF、RDB区别
RDB启动优先级低,体积小,恢复速度快,但是容易丢数据
AOF启动优先级高,体积大,恢复速度慢,安全性根据三种策略决定
四、混合持久化
Redis4.0为了解决持久化问题,推出的策略,就是当开启混合持久化时(默认关闭),会将缓冲区的增量命令以RDB的方式写入到文件,写入完成后将新的含有RDB和AOF格式的AOF文件替换掉旧的AOF文件,简单说就是这个新的AOF文件前半段是全量数据的RDB格式,后半段是增量数据的AOF格式。
开启混合持久化方式:通过aof-use-rdb-preamble配置参数控制,yes则表示开启,no表示禁用,默认是禁用的,可通过config
set修改。
五、相关命令
aof文件检查
redis-check-aof /etc/redis/appendonly.aof
rdb文件检查
redis-check-rdb /etc/redis/dump.rdb
查看持久化信息
info Persistence
查看状态信息
info stats