Azure中的Redis缓存无意中被清除

时间:2016-01-06 19:19:44

标签: azure redis

最近,1月3日,我们观察到Azure中Redis Cache的有趣行为。它只发生过一次,我试图理解它。

我们警告说,在Redis缓存服务上CPU超过80%。仔细观察,我们发现使用过的内存从典型的100MB下降到接近0.然后很快就会恢复正常,我假设应用程序正常使用。当它被填充时,有这个CPU峰值。

看起来缓存是否已重置。但是,这是生产环境,只有非常有限的人可以访问它,我们确信100%没有人重置它。那段时间没有任何部署。我在诊断日志中找不到任何东西。

问题: 1.任何想法会发生什么? 2.我在哪里可以找到什么?

更新:我们处于标准(C1)层

没有客户报告任何问题,我只是讨厌当我不明白发生了什么。

1 个答案:

答案 0 :(得分:2)

这取决于您使用的缓存层。

基本层只有一个节点,缓存数据存储在内存中。该节点中的任何内存丢失都将导致缓存数据丢失。

如果您使用的是标准层,则有2个节点,主节点和辅助节点,缓存数据从主节点异步复制到辅助节点。如果主服务器处于脱机状态,则客户端请求将发送到辅助服务器在这种情况下,缓存数据丢失的可能性很低,因为它基本上要求两个节点同时脱机,这应该只发生在硬件故障的情况下(Azure确保正常更新维护,如OS更新不在同一时间)。

如果您使用的是高级层,则缓存数据由持久存储支持,因此您不会遇到缓存数据丢失。

https://azure.microsoft.com/en-us/documentation/articles/cache-faq/#what-redis-cache-offering-and-size-should-i-use有更多相关信息。