【Azure Redis 缓存 Azure Cache For Redis】如何设置让Azure Redis中的RDB文件暂留更久(如7天)

简介: 【Azure Redis 缓存 Azure Cache For Redis】如何设置让Azure Redis中的RDB文件暂留更久(如7天)

问题描述

Azure Redis和所有的Redis服务一样,可以让你保留存储在Redis中的数据。以防万一在Redis服务器出现故障的时候能尽可能小的减少数据的损失。在Azure Redis服务中,默认提供了两种数据暂留的方式(RDB, AOF) .关于他们的描述引用官方说明文档如下:

Azure Redis 缓存使用以下模型提供 Redis 暂留:

  • RDB 暂留 - 配置 RDB(Redis 数据库)暂留以后,Azure Redis 缓存按照可配置的备份频率,将 Azure Redis 缓存的快照以 Redis 二进制格式暂留在磁盘上。 如果发生了灾难性事件,导致主缓存和副缓存都无法使用,则会使用最新快照重新构造缓存。 详细了解 RDB 暂留的优点缺点
  • AOF 暂留 - 配置 AOF(仅追加文件)暂留后,Azure Redis 缓存将每个写入操作保存到日志,此日志每秒至少保存到 Microsoft Azure 存储帐户一次。 如果发生了灾难性事件,导致主缓存和副缓存都无法使用,则会使用存储的写入操作重新构造缓存。 详细了解 AOF 暂留的优点缺点

https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-premium-persistence#what-is-data-persistence

如需要了解RDB, AOF的优缺点,可以参考Redis的官方介绍:https://redis.io/topics/persistence#rdb-advantages

由于RDB备份默认只会保留最新的一份RDB文件在设置的存储账号中,旧的RDB备份会被自动删除。虽然这样的删除操作不会马上执行,但根据经验,一般在第二天旧的备份就会被清理掉所以,如果我们想让旧的RDB文件保存更长的时间如何办呢?

在Azure Redis的门户中,目前是不能做到这样的设置。但是,Azure Reids推荐了配置 rdb-backup-max-days 这个参数来实现自定义RDB文件的保留天数

You can configure the property rdb-backup-max-days alongside their other RDB persistence properties. This will enable a feature which automatically maintains a certain number of days of RDB backups in addition to the normal RDB persistence files

 

开启方式

在Powershell中使用如下命令

  • rdb-backup-enabled : 开启Redis RDB 功能,值为true,false.
  • rdb-backup-frequency : RDB功能的备份频率(间隔多少分钟备份一次当前Redis中的内容),如60分钟。
  • rdb-storage-connection-string : 为Azure的存储账号连接字符串,存放RDB文件。
  • rdb-backup-max-days : 定义RDB文件保留的最大天数。如下面命令中的7天。
PS (Az module)
PS Azure:\> # Create redis configuration JSON
PS Azure:\> $RedisConfiguration = @{"rdb-backup-enabled"="true"; "rdb-backup-frequency"="60"; "rdb-storage-connection-string"="$StorageConnectionString"; "rdb-backup-max-days"="7"}======================================================================================================================================================================================
PS Azure:\> # Create a new cache
PS Azure:\> New-AzRedisCache -ResourceGroupName $ResourceGroupName -Name $CacheName -Location $Location -Sku Premium -Size P1 -RedisConfiguration $RedisConfiguration
======================================================================================================================================================================================
PS Azure:\> # Update an existing cache
PS Azure:\> Set-AzRedisCache -ResourceGroupName $ResourceGroupName -Name $CacheName -RedisConfiguration $RedisConfiguration

PS:  当使用以上命令时,需要先使用Az 命令登录到Azure Reids。 关于链接到Azure的方式可以参考:连接到微软云Azure中国区 By VS 2019, VS Code, Powershell

安装az模块:

Install-Module -Name Az -AllowClobber -Scope CurrentUser

登录命令

az cloud set --name AzureChinaCloud
az login -u xxxx@xxxx.partner.onmschina.cn -p xxxxxxxx


或者是

Connect-AzAccount -Environment AzureChinaCloud

当该功能启用后,在Azure Storage Account(存储账号)中的表现形式如下:

在正常的RDB备份文件之外,会有一个与Redis同名的文件夹中,会自动生成periodic-export的文件夹,用于存放7天的RDB文件。

7天RDB的文件路径:

 

保存的文件列表为:

 

 

参考资料

如何为高级 Azure Redis 缓存配置数据暂留: https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-premium-persistence#what-is-data-persistence

进行新备份以后,旧的 RDB 备份会发生什么情况: https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-premium-persistence#what-happens-to-the-old-rdb-backups-when-a-new-backup-is-made

Redis Persistence : https://redis.io/topics/persistence

连接到微软云Azure中国区 By VS 2019, VS Code, Powershell: https://www.cnblogs.com/lulight/p/13562094.html



相关文章
|
8月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
2211 10
|
存储 NoSQL 安全
Redis的两种持久化方式---RDB、AOF
通过本文的介绍,我们详细讲解了Redis的两种主要持久化方式:RDB和AOF。每种方式都有其独特的优缺点和适用场景。在实际应用中,可以根据具体需求选择合适的持久化方式,或者同时启用RDB和AOF,以达到最佳效果。希望本文能帮助您更好地理解和应用Redis的持久化机制,构建高效、可靠的数据存储解决方案。
1250 79
|
9月前
|
存储 缓存 NoSQL
Spring Cache缓存框架
Spring Cache是Spring体系下的标准化缓存框架,支持多种缓存(如Redis、EhCache、Caffeine),可独立或组合使用。其优势包括平滑迁移、注解与编程两种使用方式,以及高度解耦和灵活管理。通过动态代理实现缓存操作,适用于不同业务场景。
697 0
|
云安全 NoSQL 安全
【Azure Redis】关于Redis的两个安全漏洞在Azure Redis是否修复问题:CVE-2024-51741 和 CVE-2024-46981
本文探讨了两个 Redis 漏洞(CVE-2024-51741 和 CVE-2024-46981)在 Azure Redis 上是否存在安全风险。CVE-2024-51741 可能因格式错误的 ACL 触发拒绝服务,而 CVE-2024-46981 或因恶意 Lua 脚本导致远程代码执行。目前 Azure Redis 使用版本 6.0,不受上述漏洞影响,且 Azure 云服务会及时修复漏洞以确保安全。文章强调 Azure 遵循严格的安全标准,为用户提供可靠保障。
417 4
|
存储 NoSQL Redis
Redis 持久化揭秘:选择 RDB、AOF 还是混合持久化?
Redis 是一个内存数据库,意味着它主要将数据存储在内存中,从而能够提供极高的性能。然而,作为内存数据库,Redis 默认情况下的数据不会永久保存。为了确保数据在重启或故障后能够恢复,Redis 提供了几种 **持久化机制**。这些机制允许 Redis 将内存中的数据保存到硬盘上,从而实现数据持久化。
1111 22
Redis 持久化揭秘:选择 RDB、AOF 还是混合持久化?
|
存储 缓存 NoSQL
大数据-45 Redis 持久化概念 RDB AOF机制 持久化原因和对比
大数据-45 Redis 持久化概念 RDB AOF机制 持久化原因和对比
270 2
大数据-45 Redis 持久化概念 RDB AOF机制 持久化原因和对比
|
监控 NoSQL 网络协议
【Azure Redis】部署在AKS中的应用,连接Redis高频率出现timeout问题
查看Redis状态,没有任何异常,服务没有更新,Service Load, CPU, Memory, Connect等指标均正常。在排除Redis端问题后,转向了AKS中。 开始调查AKS的网络状态。最终发现每次Redis客户端出现超时问题时,几乎都对应了AKS NAT Gateway的更新事件,而Redis服务端没有任何异常。因此,超时问题很可能是由于NAT Gateway更新事件导致TCP连接被重置。
345 7
|
存储 缓存 NoSQL
Redis中的rdb和aof
本文深入探讨了Redis的持久化机制,包括RDB和AOF两种方式。详细解释了RDB的工作原理、优势和劣势,以及AOF的实现原理、配置选项、文件重写机制和三种数据同步方式,还介绍了AOF文件修复工具redis-check-aof的使用,并通过实例展示了如何开启和配置AOF持久化方式。
Redis中的rdb和aof
|
存储 监控 NoSQL
【赵渝强老师】Redis的RDB数据持久化
Redis 是内存数据库,提供数据持久化功能以防止服务器进程退出导致数据丢失。Redis 支持 RDB 和 AOF 两种持久化方式,其中 RDB 是默认的持久化方式。RDB 通过在指定时间间隔内将内存中的数据快照写入磁盘,确保数据的安全性和恢复能力。RDB 持久化机制包括创建子进程、将数据写入临时文件并替换旧文件等步骤。优点包括适合大规模数据恢复和低数据完整性要求的场景,但也有数据完整性和一致性较低及备份时占用内存的缺点。
590 6
|
存储 NoSQL Redis
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
Redis持久化、RDB和AOF方案、Redis主从集群、哨兵、分片集群、散列插槽、自动手动故障转移
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
下一篇
开通oss服务