【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 暂留的优点和缺点。
如需要了解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
【Azure Redis 缓存 Azure Cache For Redis】如何设置让Azure Redis中的RDB文件暂留更久(如7天)的更多相关文章
- spring boot redis 缓存(cache)集成
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...
- Azure DevOps Server: 使用Rest Api获取拉取请求Pull Request中的变更文件清单
需求: Azure DevOps Server 的拉取请求模块,为开发团队提供了强大而且灵活的代码评审功能.拉取请求中变更文件清单,对质量管理人员,是一个宝贵的材料.质量保障人员可以从代码清单中分析不 ...
- 【Azure Redis 缓存】Azure Redis 服务不支持指令CONFIG
问题描述 在Azure Redis的门户页面中,通过Redis Console连接到Redis后,想通过CONFIG命令来配置Redis,但是系统提示CONFIG命令不能用. 错误消息为:(error ...
- Windows Azure Redis 缓存服务
8月20日,Windows Azure (中国版)开始提供Redis缓存服务,比较国际版的Microsoft Azure晚了差不多一年的时间.说实话,微软真不应该将这个重要的功能delay这么长时间, ...
- Azure Redis 缓存的 ASP.NET 会话状态提供程序
Azure Redis Cache 提供了一个会话状态提供程序,你可以使用其在缓存中(而不是内存中或在 SQL Server 数据库中)存储会话状态.要使用缓存会话状态提供程序,先首先配置缓存,然后使 ...
- PHP 开发 APP 接口 学习笔记与总结 - Redis 缓存
Redis 可以定期将数据备份到磁盘中(持久化),同时不仅仅支持简单的key/value 类型的数据,同时还提供list,set,hash等数据结构的存储:Memcache 只是简单的key/valu ...
- SpringBoot使用@Cacheable实现最简单的Redis缓存
前言 之前我们使用过RedisTemplate来实现redis缓存,然后使用工具类来实现操作redis的存储.这样的方式好处是很自由,但是还不是最简单的处理方式.对于一些简单的应用来说,其实redis ...
- 简单的redis缓存操作(get、put)
简单的redis缓存操作(get.put) 本文介绍简单的redis缓存操作,包括引入jedisjar包.配置redis.RedisDao需要的一些工具.向redis中放数据(put).从redis中 ...
- 缓存机制总结(JVM内置缓存机制,MyBatis和Hibernate缓存机制,Redis缓存)
一.JVM内置缓存(值存放在JVM缓存中) 我们可以先了解一下Cookie,Session,和Cache Cookie:当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cooki ...
随机推荐
- 大揭秘| 我司项目组Gitlab Flow && DevOps流程
长话短说,本文全景呈现我司项目组gitlab flow && devops Git Flow定义了一个项目发布的分支模型,为管理具有预定发布周期的大型项目提供了一个健壮的框架. Dev ...
- Tomcat http转https
1.先申请ssl 腾讯 阿里都有免费的一年的 2.修改tomcat conf文件夹的service.xml文件 <!-- 将所有的8443 改为443 --> <Conne ...
- C#开发PACS医学影像处理系统(十九):Dicom影像放大镜
在XAML代码设计器中,添加canvas画布与圆形几何对象,利用VisualBrush笔刷来复制画面内容到指定容器: <Canvas x:Name="CvsGlass" Wi ...
- 定时任务与feign超时的纠葛,该咋优化?
1 背景 业务定时器应用半夜经常会触发熔断异常的告警邮件 根据邮件提示的类找到归纳以下表格 编号 报错方法 接口所属应用 所属定时任务类 A VipTradeReportFeignService#ge ...
- 中科蓝讯530X、532X模块之硬件UART
文章转载请注明来源 作者:Zeroer 一.选择IO 想要使用硬件的UART必须先确定要mapping的pin脚 注意:用作TX的脚位可以分时复用成单线双工 因为芯片默认的调试串口用的是UART0,所 ...
- Oracle学习(四)SQL高级--表优化相关(序列、视图等)
INDEX(索引) 可以在表中创建索引,以便更加快速高效地查询数据. 用户无法看到索引,它们只能被用来加速搜索/查询. PS:更新一个包含索引的表需要比更新一个没有索引的表花费更多的时间,这是由于索引 ...
- E-Form++ for Windows CE源码库2020,嵌入式开放源码!
E-Form++ for Windows CE源码库2020! 现在就把这个下载到您的Windows CE中,体验极致HMI触摸. Windows CE评估版下载! 1. E-Form++ for ...
- oracle中插入一条记录后,重新登录查找不到数据
你插入了数据,但是没有提交.其他Session也就是你再次登录后自然就看不到了(但是在当前回话可以看到插入的数据),但是你用SQLPLUS EXIT之后再次登录就可以看到插入的数据了,因为ORACLE ...
- python3 进行接口测试
最近有研究接口测试,然后查了查资料,发现有两种方法,一种是使用urllib库,一种是使用requests库.而在这里,我使用的是requests库,为什么要用这个呢? 从官方文档看出,python的标 ...
- Go map相关
map Go语言中的map是一种无序的,基于key-value的数据解构,在Go语言中map是引用类型,因此必须初始化后才能使用. 以下示例将展示如何声明一个map类型,以及如何简单使用. 需要注意的 ...