随笔分类 - 【Azure Redis 缓存】
Azure 中使用Azure Cache For Redis的各种疑难杂症
摘要:查看Redis状态,没有任何异常,服务没有更新,Service Load, CPU, Memory, Connect等指标均正常。在排除Redis端问题后,转向了AKS中。
开始调查AKS的网络状态。最终发现每次Redis客户端出现超时问题时,几乎都对应了AKS NAT Gateway的更新事件,而Redis服务端没有任何异常。因此,超时问题很可能是由于NAT Gateway更新事件导致TCP连接被重置。
阅读全文
摘要:对于Redis的Server Load指标,每秒创建连接数的并发值,是否有建议呢?
【答】:为了避免将缓存推到 100% 服务器负载,建议将连接创建速率保持在每秒 30 个以下。
阅读全文
摘要:问题描述 使用 Lettuce 客户端,在AKS环境中连接Azure Redis服务,出现超时错误。 错误消息: Redis command timed out , command timed out after 1 minute(s). 错误截图: 解决思路 当出现Redis客户端连接不上时,需要
阅读全文
摘要:介绍一个简单的工具,用于将Redis数据从一个redis端点复制到另一个redis端点,基于原始存储库转换为.NET 8:https://github.com/LuBu0505/redis-copy-net8
阅读全文
摘要:问题描述 在AKS中连接Redis,当遇到Azure Redis 升级或者Failover时,NodeJS应用中使用ioredis sdk 在很长一段时间内无法恢复和 Azure Redis服务端的连接,对于这种想象的可能性推断。 问题解答 使用 Azure Cache for Redis 时,一个
阅读全文
摘要:问题描述 在使用Azure Redis服务时,发现指标 Connected Clinents 和 Connections Created/Closed Per Second 值之间关系无法理解。并不能简单的根据 Connected Clinents 的变化匹配上 Connections Create
阅读全文
摘要:问题描述 在AKS环境中,应用使用Lettuce客户端连接Azure Redis,遇见了长达15分钟的超时情况 问题解答 在AKS中的节点操作系统,通常情况都是使用Linux,所以在连接Redis服务时候,TCP的连接需要基于系统级(Linux)的配置。 因为Azure Redis服务端对已经建立的
阅读全文
摘要:RedisConnectionException: Unable to init enough connections amount! only 6 of 24 were initialized. Redis server: xxxxxxxxx.redis.cache.chinacloudapi.cn/52.xxx.xxx.xxx:6380 ========= RedisConnectionException: Unable to connect to Redis server: xxxxxxxxx.redis.cache.chinacloudapi.cn/52.xxx.xxx.xxx:6380
阅读全文
摘要:问题描述 PHP Redis客户端遇见使用SSL Connection timeout,遇见问题后,切换回去Non-SSL没有出现问题。但是切换回SSL后,还是偶尔遇见Connection timeout问题。 目前timeout设置时间为5秒,并且为例重用连接,启用了持久化 redis.pconn
阅读全文
摘要:问题描述 为应用启用灾备管理,在北三区建立了一个Azure Redis,同时,在东三区也建立了一个同样的Prem级Redis服务。但是在建立灾备(DR:Disease Recovery)时候,却无法选择东三区的资源。 问题解答 目前(2023-12-05),中国Azure的东三区是作为北三区的Ava
阅读全文
摘要:问题描述 在Azure Redis的导出页面,突然不能配置Storage Account的SAS作为授权方式。 那么是否可以通过AZ CLI或者是Powershell来实现SAS的配置呢? 问题解答 可以的。使用 az redis export 可以实现 az redis export --cont
阅读全文
摘要:问题描述 使用Redis-cli连接Redis服务,因为工具无法直接支持TLS 6380端口连接,所以需要使用 stunnel 配置TLS/SSL服务。根据文章(Linux VM使用6380端口(SSL方式)连接Azure Redis (redis-cli & stunnel) : https://
阅读全文
摘要:问题描述 Redis服务负载达到100%后的影响及有何优化方法 问题解答 Redis的负载达到100% 意味着 Redis 服务器繁忙,无法跟上请求,导致客户端发送出来的请求超时。 常规情况下有一下几种情况可以导致这个问题: 1) 请求量变大达到服务上限 2) 执行默写时间复杂度高的指令,如KEYS
阅读全文
摘要:问题描述 在测试Azure Redis的导入/导出备份文件的功能中,突然发现在Redis 4.0上导入的时候,一直报错。 问题解答 因为门户上只是显示导入失败,没有任何错误消息说明。根据常理推断,Redis 的RDB文件格式都具有一致性。居然会出现导入失败,所以非常不合常理。但为什么会出现这样的情况
阅读全文
摘要:问题描述 跨区域无法访问Azure Redis服务, Redis 启用了Network并设置在一个VNET中,现在客户端部署在另一个区域数据中心中,两个数据中心区域使用VNET Peer(对等互连)访问。但是为什么不能访问Redis服务呢? 问题解答 根据Azure Redis的官方介绍,因为Red
阅读全文
摘要:问题描述 客户端使用 Lettuce.io 连接 Azure Redis,出现了长达15分钟的Timeout异常。 问题解答 Azure Redis作为PaaS服务,由于一些平台的升级操作而引发的故障转移(Failover)。 如Redis的客户端时部署在Linux服务器上,则可能导致长达15分钟无
阅读全文
摘要:问题描述 在PHP应用中,连接Redis的方法报错 RedisException(code: 0): Connection refused at /data/Redis/Connectors/PhpRedisConnector.php production.ERROR: Connection ref
阅读全文
摘要:问题描述 当使用Azure Redis服务时,需要把一个Redis服务的数据导入到另一个Redis上,因为Redis服务没有使用高级版,所以不支持直接导入/导出RDB文件。 以编程方式来读取数据并写入到新的Redis服务端,使用开源工具 Redis-Copy 却遇见了 6379 端口无法连接的问题。
阅读全文
摘要:问题描述 PHP应用再连接Azure Redis服务时,出现Connection Timed out。当通过升级提高Azure Redis的性能时候,发现之前的数据丢失了。 问题解答 当Redis服务出现Timeout的情况时,可以从Redis服务的指标(Metrics)开始查看,如果出现负载(Se
阅读全文
摘要:问题描述 在安全级别要求高的公司中,任何系统都会进行安全扫描。比如Azure 云上的Redis服务,也在扫描的范围中,最后发现Redis 4.0存在以下漏洞: CVE-2019-10192:https://nvd.nist.gov/vuln/detail/CVE-2019-10192 CVE-201
阅读全文