Redis 临时manifest修改问题之确保被持久化到磁盘如何解决

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: Redis 临时manifest修改问题之确保被持久化到磁盘如何解决

问题一:backgroundRewriteDoneHandler函数在处理AOF重写完成后的第一步是什么?


backgroundRewriteDoneHandler函数在处理AOF重写完成后的第一步是什么?


参考回答:

backgroundRewriteDoneHandler函数在处理AOF重写完成后的第一步是dup一份临时的aof_manifest结构,即temp_am = aofManifestDup(server.aof_manifest);。这样做的好处是可以在后续步骤失败时简单地销毁临时manifest来回滚操作。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/665981



问题二:如何获取新的BASE AOF文件名,并标记旧的BASE AOF(如果有)为HISTORY类型?


如何获取新的BASE AOF文件名,并标记旧的BASE AOF(如果有)为HISTORY类型?


参考回答:

通过调用getNewBaseFileNameAndMarkPreAsHistory(temp_am);函数来获取新的BASE AOF文件名(记为new_base_filename),并在这个过程中将旧的BASE AOF(如果存在)标记为HISTORY类型。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/665982



问题三:将子进程产生的临时AOF文件重命名为新BASE AOF文件名的代码是什么?


将子进程产生的临时AOF文件重命名为新BASE AOF文件名的代码是什么?


参考回答:

将子进程产生的临时AOF文件(temp-rewriteaof-bg-pid.aof)重命名为新BASE AOF文件名的代码是if (rename(tmpfile, new_base_filename) == -1) {...}。如果重命名失败,则进行错误处理和清理。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/665984



问题四:如何将INCREMENTAL AOF文件(INCR AOF)标记为HISTORY类型,并移动到历史列表中?


如何将INCREMENTAL AOF文件(INCR AOF)标记为HISTORY类型,并移动到历史列表中?


参考回答:

通过调用markRewrittenIncrAofAsHistory(temp_am);函数将INCREMENTAL AOF文件从incr_aof_list中移除,并将它们的类型从AOF_FILE_TYPE_INCR更改为AOF_FILE_TYPE_HIST,然后将它们移动到history_aof_list中。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/665985



问题五:在成功修改了临时manifest后,如何确保这些修改被持久化到磁盘?


在成功修改了临时manifest后,如何确保这些修改被持久化到磁盘?


参考回答:

通过调用persistAofManifest(temp_am);函数来确保对临时manifest所做的修改被持久化到磁盘。如果持久化失败,则执行清理操作,包括删除新创建的BASE AOF文件并释放临时manifest资源。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/665986

相关实践学习
基于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
相关文章
|
21小时前
|
存储 缓存 NoSQL
大数据-45 Redis 持久化概念 RDB AOF机制 持久化原因和对比
大数据-45 Redis 持久化概念 RDB AOF机制 持久化原因和对比
6 2
大数据-45 Redis 持久化概念 RDB AOF机制 持久化原因和对比
|
21小时前
|
消息中间件 分布式计算 NoSQL
大数据-41 Redis 类型集合(2) bitmap位操作 geohash空间计算 stream持久化消息队列 Z阶曲线 Base32编码
大数据-41 Redis 类型集合(2) bitmap位操作 geohash空间计算 stream持久化消息队列 Z阶曲线 Base32编码
11 2
|
21小时前
|
存储 缓存 NoSQL
大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点
大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点
7 1
|
1月前
|
存储 NoSQL Redis
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
Redis持久化、RDB和AOF方案、Redis主从集群、哨兵、分片集群、散列插槽、自动手动故障转移
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
|
14天前
|
存储 缓存 NoSQL
Redis 大 Key 对持久化的影响及解决方案
Redis 大 Key 对持久化的影响及解决方案
24 1
|
13天前
|
存储 NoSQL 安全
8)详解 Redis 的配置文件以及数据持久化
8)详解 Redis 的配置文件以及数据持久化
23 0
|
14天前
|
存储 缓存 NoSQL
深入探究Redis的AOF持久化:保障数据安全与恢复性能的关键机制
深入探究Redis的AOF持久化:保障数据安全与恢复性能的关键机制
30 0
|
3月前
|
canal 缓存 NoSQL
Redis常见面试题(一):Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略
Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;先删除缓存还是先修改数据库,双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略
Redis常见面试题(一):Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略
|
3月前
|
NoSQL Redis 数据库
redis 持久化机制及配置
redis 持久化机制及配置
71 4

热门文章

最新文章