【Azure Redis 缓存】Azure Redis 功能性讨论二
继承上一次讨论了Azure Redis的可用性,可靠性,稳定性,安全性,监控方面的九大功能点。详情可回顾文章:【Azure Redis 缓存】Azure Redis功能性讨论
这次我们继续讨论Azure Redis的以下六点问题:
1:Redis能否暂停或重启
2:Redis群集扩大分片后能否缩小
3:Redis默认是否会备份,基础和标准版本如何备份数据?
4:RDB 暂留和AOF 暂留有什么区别
5:设置计划更新后,更新开始前后,redis是否可以继续使用
6:异地复制
一:Redis能否暂停或重启
可以重启,但是不能暂停。除基本定价层的Redis外,其他都是有主/从(副本)两个节点,如果只重新启动其中一个节点,数据通常不会丢失,但仍然存在丢失的可能。重启的操作会根据重启的节点不同对已连接的客户端有不同的影响:
- 主 - 重新启动主节点时,Redis 会发生故障转移到副本节点,并将其提升为主节点。 在此故障转移期间,可能会有一个较短的时间间隔无法连接到Redis。
- 副本 - 重新启动副本节点时,通常不会影响缓存客户端。
- 主和副本 - 同时重新启动这两个缓存节点时,缓存中的所有数据都会丢失,并且无法连接到缓存,直到主节点重新联机。 如果已配置数据持久性,则在缓存重新联机时会还原最新备份,但在最新备份后发生的所有缓存写入都将丢失。
- 已启用群集的高级缓存的节点 - 重新启动已启用群集的高级缓存的一个或多个节点时,所选节点的行为与重新启动非群集缓存的相应节点时相同。
更多的重启问题,可参考官方文档:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-administration#reboot
二:Redis群集扩大分片后能否缩小
可以的,可以在Redis的门户页面中进行分片大小的缩放及扩展。

更多关于Redis集群问题,请参考官方文档:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-premium-clustering#what-is-redis-cluster
三:Redis默认是否会备份,基础和标准版本如何备份数据?
Redis不会默认备份,并且基础版,标准版并不具备备份(RDB, AOF)的功能。 Redis的数据暂留只在高级版中提供,它提供两种方式进行数据备份 RDB暂留和AOF暂留。
- RDB 暂留 - Azure Redis 缓存按照可配置的备份频率(默认60分钟),将 Azure Redis 缓存的快照以 Redis 二进制格式暂留在存储账号中(Blob)上。
- AOF 暂留 - 追加文件,Azure Redis 缓存将每个写入操作保存到日志,此日志每秒至少保存到 Microsoft Azure 存储帐户一次。

更多数据持久化信息,请参考官方文档:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-premium-persistence#what-is-data-persistence
四:RDB 暂留和AOF 暂留有什么区别
AOF 暂留将每个写入保存到日志,与 RDB 暂留相比,这对吞吐量有一些影响,因为 RDB 暂留基于配置的备份间隔保存备份,对性能产生的影响非常小。
如果主要目标是最大程度减少数据损失,并且可应付缓存吞吐量下降,请选择 AOF 暂留。 如果希望在缓存上保持最优吞吐量,但仍希望使用一种数据恢复机制,请选择 RDB 暂留。

注:AOF 暂留对性能的影响:
当缓存低于最大负载(CPU 和服务器负载皆低于 90%)时,AOF 暂留对吞吐量产生约 15% - 20% 的影响。 缓存处于这些限制以内时不存在延迟问题。 但是,启用 AOF 时缓存将更快达到这些限制。
关于Redis数据暂留的优缺点,可参考官方网站:https://redis.io/topics/persistence#rdb-advantages
五:设置计划更新后,更新开始前后,redis是否可以继续使用
正常情况下,如果Redis是标准版或者高级版,Redis在更新时是可用的。
因为基本版缓存没有多个节点,仅建议用于开发和测试目的。在更新完成之前不可用。
Redis 服务定期使用最新的平台功能和修补程序更新缓存。 该服务遵循以下步骤来修补缓存
- 管理服务选择一个要修补的节点。
- 如果所选的节点是主节点,则相应的副本节点将以协作方式提升自身。 这种升级被视为计划性故障转移。
- 所选节点将重新启动以获取新的更改,然后以副本节点的角色重新启动。
- 副本节点连接到主节点并同步数据。
- 数据同步完成后,将对剩余的节点重复修补过程。
因为修补属于计划性故障转移,所以副本节点会快速将自身提升为主节点,并开始为请求和新连接提供服务。 群集缓存的每个分片单独进行修补,不会关闭与另一个分片的连接。

更多信息,请参考官方文档:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-failover
六:异地复制
异地复制设计为灾难恢复解决方案。是一种用于链接两个高级层 Azure Redis 缓存实例的机制。 默认情况下,应用程序将写入主要区域并从中进行读取。
异地复制先决条件
若要在两个缓存之间配置异地复制,必须满足以下先决条件:
- 这两个缓存是高级层缓存。
- 这两个缓存在同一 Azure 订阅中。
- 辅助链接缓存的大小等于或大于主链接缓存的大小。
- 这两个缓存都已创建且处于运行状态。
异地复制不支持某些功能:
- 异地复制不支持持久性。
- 如果这两个缓存都启用了群集功能并且具有相同数目的分片,则支持群集。
- 支持同一 VNET 中的缓存。
- 也支持不同 VNET 中的缓存,但需要注意一些问题。 有关详细信息,请参阅当缓存位于 VNET 中时是否可以使用异地复制?。
完成异地复制配置后,链接缓存对会有以下限制:
- 辅助链接缓存为只读状态;这意味着只能从中读取,但不能向其写入任何数据。
- 添加链接前辅助链接缓存中的任何数据都会被删除。 但如果以后删除了异地复制,复制的数据则会保留在辅助链接缓存中。
- 链接缓存时无法缩放任一缓存。
- 如果缓存已启用群集功能,则无法更改分片数目。
- 无法在任一缓存上启用暂存。
- 可以从任一缓存导出。
- 无法导入到辅助链接缓存。
- 只有在取消链接缓存之后,才可以删除任一链接缓存或包含它们的资源组。 有关详细信息,请参阅尝试删除链接缓存时为何操作会失败?
- 如果缓存位于不同的区域,网络传出费用将适用于在区域之间移动的数据。 有关详细信息,请参阅跨 Azure 区域复制数据的费用是多少?
- 主要和辅助链接缓存之间不会发生自动故障转移。 有关如何故障转移客户端应用程序的详细信息,请参阅如何故障转移到辅助链接缓存?

关于异地复制,可以参考官方文档:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-geo-replication
【Azure Redis 缓存】Azure Redis 功能性讨论二的更多相关文章
- 【Azure Redis 缓存 Azure Cache For Redis】Azure Redis由低级别(C)升级到高级别(P)的步骤和注意事项, 及对用户现有应用的潜在影响,是否需要停机时间窗口,以及这个时间窗口需要多少的预估问题
问题描述 由于Azure Redis的性能在不同级别表现不同,当需要升级/缩放Redis的时候,从使用者的角度,需要知道有那些步骤? 注意事项? 潜在影响?停机事件窗口? 升级预估时间? 解决方案 从 ...
- 【Azure Redis 缓存 Azure Cache For Redis】使用Redis自带redis-benchmark.exe命令测试Azure Redis的性能
问题描述 关于Azure Redis的性能问题,在官方文档中,可以查看到不同层级Redis的最大连接数,每秒处理请求的性能. 基本缓存和标准缓存 C0 (250 MB) 缓存 - 最多支持 256 个 ...
- 【Azure Redis 缓存 Azure Cache For Redis】如何设置让Azure Redis中的RDB文件暂留更久(如7天)
问题描述 Azure Redis和所有的Redis服务一样,可以让你保留存储在Redis中的数据.以防万一在Redis服务器出现故障的时候能尽可能小的减少数据的损失.在Azure Redis服务中,默 ...
- 【Azure Redis 缓存 Azure Cache For Redis】Redis性能问题,发现Server Load非常的高,导致正常连接/操作不成功
问题描述 在正常使用Azure Redis的服务中,突然发现Redis 的CPU达到了100%, 正常的使用中发现性能问题严重.从Redis的门户图表中,观察到CPU, Connection,Lent ...
- 【Azure Redis 缓存 Azure Cache For Redis】在创建高级层Redis(P1)集成虚拟网络(VNET)后,如何测试VNET中资源如何成功访问及配置白名单的效果
当使用Azure Redis高级版时候,为了能更好的保护Redis的安全,启用了虚拟网路,把Redis集成在Azure中的虚拟网络,只能通过虚拟网络VENT中的资源进行访问,而公网是不可以访问的.但是 ...
- Redis缓存项目应用架构设计二
一.概述 由于架构设计一里面如果多平台公用相同Key的缓存更改配置后需要多平台上传最新的缓存配置文件来更新,比较麻烦,更新了架构设计二实现了缓存配置的集中管理,不过这样有有了过于中心化的问题,后续在看 ...
- Redis缓存数据库安全加固指导(二)
背景 在众多开源缓存技术中,Redis无疑是目前功能最为强大,应用最多的缓存技术之一,参考2018年国外数据库技术权威网站DB-Engines关于key-value数据库流行度排名,Redis暂列第一 ...
- 【Azure Redis 缓存 Azure Cache For Redis】Redis连接池
问题描述 Redis根据定价层说明,不同级别支持的连接数最多可达4万(同时),但是当短时间又大量连接请求建立的时候,Redis服务的服务压力非常大,到达100%.严重影响了高响应的要求.最严重时,经常 ...
- 【Azure Redis 缓存 Azure Cache For Redis】Redis出现 java.net.SocketTimeoutException: Read timed out 异常
问题描述 在使用Azure Redis时,遇见Read Timed out异常, Redis的客户端使用的时jedis.问题发生时,执行redis部分指令出错,大部分get指令,set指令能正常执行. ...
随机推荐
- 【poj 2976】Dropping tests(算法效率--01分数规划 模版题+二分){附【转】01分数规划问题}
P.S.又是一个抽时间学了2个小时的新东西......讲解在上半部分,题解在下半部分. 先说一下转的原文:http://www.cnblogs.com/perseawe/archive/2012/05 ...
- 【uva 1442】Cav(算法效率)
题意:有一个由N个片段构成宽度的洞穴,已知洞顶 si 和洞底 pi 的高度,要求储存尽量多的燃料. 解法:O(n),分别从1到N和从N到1扫一遍,调整每个片段合法的最大高度,求出答案. 1 #incl ...
- Python3.9.1中如何使用match方法?
接触编程的朋友都听过正则表达式,在python中叫re模块,属于文字处理服务里面的一个模块.re里面有一个方法叫match,接下来的文章我来详细讲解一下match. 作为新手,我建议多使用帮助文档,也 ...
- CF1462-E2. Close Tuples (hard version)
本题为hard版,还有一个easy版,区别在于k和m的取值不同. 题意: 给出一个由n个数字组成的数组 \(a\).现在定义一种子集为\(\{A_1, A_2, A_3, ..., A_m\}\),使 ...
- MHA 的 Binlog Server & VIP 漂移
目录 Binlog Server 在 MHA 配置文件中配置 Binlog Server 创建 Binlog 存放目录 实时传输主库 Binlog 命令 重启 MHA 检验 MHA Manager 服 ...
- 1.搭建NFS环境,用于存储数据
作者 微信:tangy8080 电子邮箱:914661180@qq.com 更新时间:2019-06-12 14:59:50 星期三 欢迎您订阅和分享我的订阅号,订阅号内会不定期分享一些我自己学习过程 ...
- linux repo init 遇到的问题
问题描述: 利用repo从远程服务器上取代码时候,出现错误 fatal: cannot make .repo directory:Permission denied, 加了sudo 之后,还是不行, ...
- L3-015. 球队“食物链”【DFS + 剪枝】
L3-015. 球队"食物链" 时间限制 1000 ms 内存限制 262144 kB 代码长度限制 8000 B 判题程序 Standard 作者 李文新(北京大学) 某国的足球 ...
- Leetcode(1)-两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15], target ...
- apt 和 apt-get 之间有什么区别?
使用ubuntu的朋友一定会接触一个命令就是apt-get . 使用该工具安装各种应用程序那叫一个爽. 在 Ubuntu 16.04 发行后,apt使用渐渐频繁起来. 那么,apt-get 与 apt ...
