Redis 持久化机制

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82876657 ...
版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82876657

对于如何将数据类型持久化存储,Redis 提供一下 4 种方式

更多精彩

定时快照 snapshot

实现

  1. 在 Redis 内存的一个定时器事件,每隔一段时间就检查数据是否符合定时快照触发的条件
  2. 若触发则创建一个子进程,默认与父进程共享地址空间,再通过子进程遍历整个内存进行存储操作

缺陷

  1. 只能存储一段时间内的内存信息,若系统重启则会丢失上次快照与重启间的数据

基于语句的追加文件 aof

实现

  1. 每条使 Redis 内存数据发生改变的的命令都会被存储到一个 log 文件中
  2. 最终该 log 文件中存放的就是 Redis 的持久化数据

缺陷

  1. 过多的 log 文件导致数据体积过大,当系统重启后再次加载数据时会比较慢
    • 数据加载慢并不是因为读取速度慢,而是因为 log 中的每条命令都会需要在 Redis 中再次执行
  2. 由于每条命令都要写入 log ,所以会导致 Redis 的性能下降

虚拟内存 vm - 已弃用

实现

  1. 用户空间数据换入换出

缺陷

  1. 代码复杂
  2. 重启慢

Diskstore

实现

  1. 弃用虚拟内存后采用的新方式,实际上是使用传统的 B-tree 格式存储数据

总结

  1. 采用合适的数据类型存储数据,并尽可能使用紧凑存储参数
  2. 当业务场景无需持久化时,关闭所有的持久化机制可获得更好的性能及最大的内存使用量
  3. 不要让 Redis 使用的物理内存超过服务器的 3/5
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
13天前
|
存储 监控 负载均衡
保证Redis的高可用性是一个涉及多个层面的任务,主要包括数据持久化、复制与故障转移、集群化部署等方面
【5月更文挑战第15天】保证Redis高可用性涉及数据持久化、复制与故障转移、集群化及优化策略。RDB和AOF是数据持久化方法,哨兵模式确保故障自动恢复。Redis Cluster实现分布式部署,提高负载均衡和容错性。其他措施包括身份认证、多线程、数据压缩和监控报警,以增强安全性和稳定性。通过综合配置与监控,可确保Redis服务的高效、可靠运行。
186 2
|
13天前
|
NoSQL 安全 Unix
Redis源码、面试指南(4)单机数据库、持久化、通知与订阅(中)
Redis源码、面试指南(4)单机数据库、持久化、通知与订阅
23 0
|
11天前
|
NoSQL 算法 Java
【redis源码学习】持久化机制,java程序员面试算法宝典pdf
【redis源码学习】持久化机制,java程序员面试算法宝典pdf
|
13天前
|
存储 NoSQL 关系型数据库
【Redis】Redis的特性和应用场景 · 数据类型 · 持久化 · 数据淘汰 · 事务 · 多机部署
【Redis】Redis的特性和应用场景 · 数据类型 · 持久化 · 数据淘汰 · 事务 · 多机部署
28 0
|
13天前
|
NoSQL Redis 数据库
Redis实现数据持久性主要依赖两种机制
【5月更文挑战第15天】Redis持久化包括RDB快照和AOF日志。RDB通过定时内存数据快照生成文件,恢复速度快但可能丢失部分数据;AOF记录每次写操作,实时性好但文件大、恢复慢。混合持久化兼顾两者优点,提供数据安全与性能平衡。用户可按需选择或组合使用策略。
14 2
|
13天前
|
存储 NoSQL 调度
Redis源码、面试指南(4)单机数据库、持久化、通知与订阅(下)
Redis源码、面试指南(4)单机数据库、持久化、通知与订阅
18 0
|
13天前
|
存储 NoSQL API
Redis源码、面试指南(4)单机数据库、持久化、通知与订阅(上)
Redis源码、面试指南(4)单机数据库、持久化、通知与订阅
26 1
|
13天前
|
存储 NoSQL 算法
Redis持久化&Redis主从
Redis持久化&Redis主从
21 0
|
13天前
|
监控 NoSQL 关系型数据库
深入浅出Redis(五):Redis的事务机制与ACID原则
深入浅出Redis(五):Redis的事务机制与ACID原则
|
13天前
|
缓存 NoSQL 关系型数据库
深入浅出Redis(四):Redis基于RDB、AOF的持久化
深入浅出Redis(四):Redis基于RDB、AOF的持久化