2016-05-18 195 views
0

以下声明表明,Azure仅在缓存端点上提供SLA,而不在数据上提供SLA。Azure Redis缓存中的数据丢失

SLA仅涵盖与Cache端点的连接。 SLA不包括数据丢失保护。

我的问题是,在数据丢失的情况下,所有的数据都会从我的实例中丢失。或者部分数据丢失也是可能的。例如,如果我有2K个键值对,是否有可能丢失了一半的键值对。

为什么我很好奇,因为在一个应用程序中,我存储了一些处理结果(可以使用sql中存储的数据构建)。但是这种数据处理非常耗时。现在如果发生数据丢失,我将不得不再次构建这个缓存​​。如果我可以确定每当数据丢失时,我的所有键值对都将消失,我可以再次从头开始运行此过程。

如果部分丢失是可能的,那么当访问单个键值对时,如果我没有在缓存中找到它,我将不得不构建这个键值对。

回答

1

听起来好像Redis不适合您的场景,如果您更关心数据丢失而不是性能/共享状态。说了这些之后,您总是可以看到data persistence for Redis,但这需要使用Azure中的Premium级别。

+0

感谢Simon快速回复!我的缓存数据是增量式的。我需要非常频繁地更新这些数据。 'Redis持久'对我无用,因为我输不起15分钟。数据的。 – Pragmatic

+0

鉴于此解决方案的RPO,您可能希望查看使用Azure SQL数据库和活动地理复制(它具有您需要的大球场中的RPO)。 https://azure.microsoft.com/en-us/documentation/articles/sql-database-business-continuity/ –

+0

西蒙,当我说我不能失去15分钟。的数据我的意思是,我不能处理陈旧的数据,但我可以肯定再次处理它(因为我已经在我的SQL中有所有输入)并开始工作。但问题是,我是否必须再次处理所有事情(如果完整实例丢失数据),或者数据可能丢失是零碎的,我可以将它重建为单个键值对。 – Pragmatic