【Azure Redis 缓存】Azure Cache for Redis有默认备份可以用于恢复么?

问题描述

Azure Cache for Redis有默认备份可以用于恢复么? 答: 只有高级版Redis有。

问题原因

Azure Cache for Redis有不同的版本定价层(基本 Basic,标准 Standard,高级 Premium),在使用中,基本功能一直,但是性能和高级功能则差别巨大, 如数据暂存(RDB, AOF)只有高级版有此功能。

 基本标准高级
  基本缓存是单个缓存节点,适用于开发/测试和非关键型工作负荷。 基于主/从复制的生产级别缓存服务。 适合企业的级别,可用作缓存和暂留数据。专为最大规模和企业集成而设计。
缓存
复制和故障转移 -
SLA 基本级别没有服务级别协议 99.9% 99.9%
配置 Redis(Keyspace 通知等) -
Redis 数据暂留 - -
Redis 群集 - -
扩大到多个缓存单位 - -
Azure 虚拟网络 - -
内存大小 250 MB - 53 GB 250 MB - 53 GB 6 GB - 530 GB*
网络性能 低 - 高 低 - 高 中等 - 最高
客户端连接的最大数量 20000 20000 40000
*根据请求可缩放更多实例。

根据上表:对于高级版Redis是可以配置数据暂留的,并且也可以进行导入导出功能,是可以备份redis数据的,而标准版基本版是无法进行数据暂留和导入导出操作的

 

解决办法

一:如果使用的Azure Redis为高级版,则非常简单,直接使用Redis的导入或者导出。详细文档可以参考: https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-import-export-data

 

二:如果使用的是标准版或者基础版,该版本未提供导入导出功能,如果想要导出较为麻烦,可参考以下操作方法:

  • 将原Redis Server升级至高级版,之后导出数据,然后在将原Redis Server删除(注意,升级到高级版是无法降级的)
  • 导出的数据文件,实际是RDB文件,您可以将此RDB文件还原至你本地的Redis Server (Version 3.2 +)
  • 在本地Redis Server使用BGREWRITEAOF,将数据导出为AOF格式文件。
  • 执行以下命令,将AOF文件内容导入到Azure Redis,建议在liuix下执行该命令,确保Azure redis 6379端口打开

redis-cli -h <your redis name>.redis.cache.chinacloudapi.cn –a youaccesskey -p 6379 --pipe < appendonly.aof

 

第二步操作方式示例

1)升级Redis并导出Redis的数据(RDB), 在配置的Storage Account(存储账号)中下载该文件,然后改名为dump.rdb。 

 

2)直接Copy到Redis在本地目录中。 Windows中的Redis可以从Github中下载:https://github.com/microsoftarchive/redis/releases

3)在使用Redis-cli连接到本地,通过 info Keyspace命令查看当前reids中有多少Keys信息。

(Linux中的安装方式可以参考redis官网: https://redis.io/topics/quickstart

 

4)使用Redis-cli BGREWRITEAOF命令,把当前的所有数据保存为AOF格式文件。默认输出的AOF文件为:appendonly.aof

 

 

5)使用redis-cli -h yourredisname.redis.cache.chinacloudapi.cn -a rediskeys=  -p 6379 --pipe <appendonly.aof 完成传输,当输出errors:0, replies: 500016即表示pipe keys成功。同理也可以在azure redis的console中查看当前reids info信息。

 

6)在Azure 的Redis门户中,也可以查看到与上一步中同样的Keys信息

 

参考资料

用于 Redis 的 Azure 缓存: https://www.azure.cn/pricing/details/cache/

在 Azure Redis 缓存中导入和导出数据: https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-import-export-data

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

如何迁移 Azure Redis: https://docs.azure.cn/zh-cn/articles/azure-operations-guide/redis-cache/aog-redis-cache-howto-migration

 

posted @ 2021-01-20 20:01  路边两盏灯  阅读(274)  评论(0编辑  收藏  举报