Redis持久化

没错,很老生畅谈的问题啦

reids快照

1、将内存数据库快照保存在名字为 dump.rdb 的二进制文件
2、设置配置文件save s num设置多少秒多少个
3、或命令 save (同步)/ bgsave :主fork子进程来共享内存数据生成dump新文件覆盖旧的

写时复制cow

1、fork子进程读取主进程内存数据,写入rdb文件

2、读不影响

3、写:被写的数据复制,bgsave小子将副本写入rdb文件(耗内存),主线修改原数据

4、机器挂了丢失没来及和快照 合二为一的数据(多可惜 没来得及加入快照这一温暖的大家庭)

aof

aof就比较细心了,本着可以百分百负责的态度将每一条指令记录到appendonly.aof文件中

1、先到os cache,隔一段时间fsync到磁盘(隔一段注意哦是隔一段 这世界哪有什么全心全意)

2、重启时将执行aof文件中指令来达到重建数据集伟大帝国的这一目的

3、可是aof里面命令太多怎么办呢(愁死👶了)欸咱们redis这么聪明,会定期根据内存最新数据生成aof文件,将重复的命令合并,自动的方式如下,手动那就是执行bgrewriteaof命令了,注意啦 重写时fork子去做(参考bgsave的),"脏活累活"怎么能主子去做呢?没有🐮🐎觉悟可不行!

复制代码
# appendonly yes开启
1 # auto‐aof‐rewrite‐min‐size 64mb //aof至少要达到64M才自动重写,太小恢复速度本来就
很快,意义不大
2 # auto‐aof‐rewrite‐percentage 100 //aof自上一次重写后文件大小增长了100%则再次触发重写

优先aof,因为他数据全,当然这世间没有完美的事情,执行起来就比较慢,"婆婆妈妈"的,当然不想被唠叨,那你就选redis4.0混合双打,不是redis4.0混合持久化!铛铛铛~

4.0混合

首先混合潜规则就有aof那就要开启aof啦,当然开启aof并不意味着开启了混合双打,所以需要#aof‐use‐rdb‐preamble yes开启!

1、aof重写时,重写这一刻之前的内存做rdb快照,并且一并和增量的aof修改内存数据的命令放在新的aof文件中

2、等重写完新的aof文件,才覆盖旧的aof,不能弄一半就着急"招摇过市" 万事求一个稳妥、靠谱

3、so 亲爱的redis在重启时,先加载rdb(他快)再重放增量的aof日志,日志这个词多好,不宣兵夺主,在甄嬛传中活到第三集妥妥的

持久化差不多说完了皮毛,大家看得也不容易,最后附赠一个

数据备份策略

首先不讲大前提都是刷流氓,咱们简简单单就reids ,别整那🈶️的没的中间价抬杠

1、写corn定时脚本,自己定多久copy rdb/aof到**中去,保留个48h到备份差不多(场景很重要,自己想 自己套)

2、每天呢保留当日的数据到****目录,这个保守写,可以多存些时日,就当过冬储粮(量)了

3、不过也别留太多,那没用的 太久的 该删就删 舍不得👶怎么套🐺,是不是

4、如果这数据还是担心丢,那就机器之前互备,大家伙互相照应些,老板多花点钱,让咱们工人们借助聪明才智将机器a的数据备份到机器人b,万一a坏了还有个垫底的,有问题一起扛

相关推荐
浅念-14 分钟前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
updayday85426 分钟前
离职域账号状态变更与Ping64操作记录核对
大数据·网络·数据库·安全·智能路由器
Nturmoils1 小时前
只恢复一张表,别把整个库都还回去
数据库
张某布响丸辣1 小时前
附件下载的安全边界:路径白名单、NAS 哨兵文件与 Redis Lua 一次性令牌
java·redis·redis lua·nas哨兵
龙腾AI白云1 小时前
大语言模型:从语言理解到通用智能的跃迁
数据库·人工智能·机器学习·知识图谱
SelectDB2 小时前
快手基于 Apache Doris 千亿多模态检索的实践
大数据·数据库·数据分析
SelectDB2 小时前
StarRocks 迁移至 Apache Doris 完整指南:三步完成结构、数据与业务平滑切换
大数据·数据库·数据分析
这个DBA有点耶2 小时前
InnoDB索引组织表下,复合主键和自增主键的物理存储差异与选型对比
数据库·mysql·架构
Wang's Blog2 小时前
Java 接入Redis: 使用Jedis操作Redis
java·服务器·redis
其实防守也摸鱼2 小时前
常见安全架构中 Shiro 的认证确认机制解析
运维·服务器·数据库·windows·github