最近,1月3日,我们观察到Azure中Redis Cache的有趣行为。它只发生过一次,我试图理解它。
我们警告说,在Redis缓存服务上CPU超过80%。仔细观察,我们发现使用过的内存从典型的100MB下降到接近0.然后很快就会恢复正常,我假设应用程序正常使用。当它被填充时,有这个CPU峰值。
看起来缓存是否已重置。但是,这是生产环境,只有非常有限的人可以访问它,我们确信100%没有人重置它。那段时间没有任何部署。我在诊断日志中找不到任何东西。
问题: 1.任何想法会发生什么? 2.我在哪里可以找到什么?
更新:我们处于标准(C1)层
没有客户报告任何问题,我只是讨厌当我不明白发生了什么。
答案 0 :(得分:2)
这取决于您使用的缓存层。
基本层只有一个节点,缓存数据存储在内存中。该节点中的任何内存丢失都将导致缓存数据丢失。
如果您使用的是标准层,则有2个节点,主节点和辅助节点,缓存数据从主节点异步复制到辅助节点。如果主服务器处于脱机状态,则客户端请求将发送到辅助服务器在这种情况下,缓存数据丢失的可能性很低,因为它基本上要求两个节点同时脱机,这应该只发生在硬件故障的情况下(Azure确保正常更新维护,如OS更新不在同一时间)。
如果您使用的是高级层,则缓存数据由持久存储支持,因此您不会遇到缓存数据丢失。