超简单!Redis中的持久化策略汇总

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 超简单!Redis中的持久化策略汇总

🍁 作者:知识浅谈,CSDN博客专家,华为云云享专家,阿里云签约博主,InfoQ签约博主

📌 擅长领域:全栈工程师、爬虫、ACM算法

💒 公众号:知识浅谈

🔥 联系方式vx:zsqtcc

🤞Redis中的持久化策略方式汇总🤞

正菜来了⛳⛳⛳

🎈AOF方式

AOF:是以日志记录的形式记录数据的更新操作,这种方法的持久性更好,一致性更强,因为几乎能够保存redis 的每一步操作了。

🍮 AOF持久化策略

  • always:这个指的是每一次操作之后都是要持久化到aof文件中去的,所以就算是极端的情况下也最多丢失一条更新。
  • everysec:这个是每秒都会把aof缓冲中的数据持久化到aof文件中去的,所以最多也是丢失一秒的数据更改。
  • no:这个策略是不做任何操作,有操作系统决定什么时候去把aof缓存持久化到aod文件,这个放生异常的时候相比于上边的两个丢失的数据相对较多。

🍮AOF重写

默认redis是RDB的形式,如果想要使用AOF的形式,

appendonly yes 这个是开启aof持久化的命令。

本来aof持久化的时候是需要把对redis进行修改的每一个操作都写到文件中去的,但是因为aof存储的命令较多的时候,需要对aof文件进行重写,这个重写是指的是bgrewriteaof,创建一个子线程根据当前内存中redis的数据重新写一份aof文件,原来的aof文件就丢弃了。

🎈RDB方式

RDB:是以镜像的方式记录某个时刻redis中的每个数据,可以通过bgsave命令,使用一个子线程去创建一个某个时刻的redis中的数据的镜像,当bgsave命令的执行的时候redis中的数据是read-only状态,如果主线程要修改的时候发生缺页中断,会在其他空间先写入数据,等持久化之后再把刚才的数据进行更新。

🎈RDB+AOF:是两种方式的混合方式

在RDB持久化之后使用aof进行记录来保证尽量做到数据的一致性,在还原数据的时候,先用rdb还原基本的数据,再使用aof中的日志去redis中进行操作。

🎈性能比较:

RDB:还原数据快,占用空间小,但是完整性低。

AOF:完整性高,但是占用空间相比于RDB的形式较大,还原数据的时间较长。

🍚总结

以上就是Redis持久化的方式的使用策略和优劣势。

相关实践学习
基于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
相关文章
|
16天前
|
NoSQL Redis
05- Redis的数据淘汰策略有哪些 ?
Redis 提供了 8 种数据淘汰策略:挥发性 LRU、LFU 和 TTL(针对有过期时间的数据),挥发性随机淘汰,以及全库的 LRU、LFU 随机淘汰,用于在内存不足时选择删除。另外,还有不淘汰策略(no-eviction),允许新写入操作报错而非删除数据。
204 1
|
28天前
|
缓存 监控 NoSQL
【Redis性能瓶颈揭秘】「调优系列」深入分析热Key的排查策略和解决方案
【Redis性能瓶颈揭秘】「调优系列」深入分析热Key的排查策略和解决方案
183462 2
|
1月前
|
缓存 监控 NoSQL
解析Redis缓存雪崩及应对策略
解析Redis缓存雪崩及应对策略
|
3月前
|
监控 NoSQL Linux
【分布式】Redis的持久化方案解析
【1月更文挑战第25天】【分布式】Redis的持久化方案解析
|
7天前
|
存储 NoSQL Java
Redis奔溃了快看看有没开启持久化
Reis作为一个内存数据库,整个数据库状态都存储在内存里,如果在运行过程中发生崩溃,那整个数据库状态可就完全不见了,相当于整个服务器被初始化。Redis在这方面肯定有所作为,我们来看看它做了什么功夫~
121 0
Redis奔溃了快看看有没开启持久化
|
11天前
|
缓存 NoSQL Java
使用Redis进行Java缓存策略设计
【4月更文挑战第16天】在高并发Java应用中,Redis作为缓存中间件提升性能。本文探讨如何使用Redis设计缓存策略。Redis是开源内存数据结构存储系统,支持多种数据结构。Java中常用Redis客户端有Jedis和Lettuce。缓存设计遵循一致性、失效、雪崩、穿透和预热原则。常见缓存模式包括Cache-Aside、Read-Through、Write-Through和Write-Behind。示例展示了使用Jedis实现Cache-Aside模式。优化策略包括分布式锁、缓存预热、随机过期时间、限流和降级,以应对缓存挑战。
|
17天前
|
NoSQL 安全 Redis
redis内存限制与淘汰策略
Redis内存管理包括限制和淘汰策略。`maxmemory`配置参数决定内存上限,无设置时64位系统默认不限制,可能导致系统资源耗尽,生产环境建议设定合理值。当内存满时,未设置淘汰策略会导致写入错误。Redis提供8种淘汰策略,如LRU(最近最少使用)和LFU(最不经常使用),以及随机或基于过期时间的删除。需根据数据重要性、访问频率和一致性选择合适策略。
180 0
|
18天前
|
存储 NoSQL 算法
redis数据持久化
redis数据持久化
|
25天前
|
存储 缓存 NoSQL
Redis的内存淘汰策略是什么?
【4月更文挑战第2天】Redis内存淘汰策略在内存满时,通过删除旧数据为新数据腾空间。策略包括:volatile-lru/LFU(基于LRU/LFU算法淘汰有过期时间的键),volatile-random/ttl(随机/按TTL淘汰),allkeys-lru/LFU(所有键的LRU/LFU),allkeys-random(随机淘汰所有键),以及noeviction(不淘汰,返回错误)。选择策略要考虑访问模式、数据重要性和性能需求。
|
28天前
|
缓存 NoSQL Shell
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(持久化功能分析)
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(持久化功能分析)
151 0

热门文章

最新文章