使用Azure Redis缓存重试策略

时间:2015-04-15 22:06:13

标签: c# caching azure azure-redis-cache

最近,我们从Azure角色缓存迁移到Azure Redis缓存(Azure网站正在使用)。

我现在正在审查代码,一条线引起了我的注意。

using Microsoft.Practices.TransientFaultHandling;

// CODE

_retryPolicy = new RetryPolicy<CacheTransientErrorDetectionStrategy>(retryStrategy);

// CODE

_retryPolicy.ExecuteAction(() => dataCache.StringGet(fullCacheKey));

TransientFaultHandling程序集中的RetryPolicy对Redis缓存有意义吗?或者这是一个实际上没有用途的代码,因为我们使用Azure Redis而不是角色内缓存?

2 个答案:

答案 0 :(得分:1)

这是对的。您可以重用RetryPolicy逻辑

答案 1 :(得分:1)

你认为这是正确的,CacheTransientErrorDetectionStrategy是专为Windows Azure缓存而构建的。

http://www.projky.com/entlib/6.0/Microsoft/Practices/EnterpriseLibrary/TransientFaultHandling/CacheTransientErrorDetectionStrategy.cs.html

/// <summary>
/// Provides the transient error detection logic that can recognize transient faults when dealing with Windows Azure Caching.
/// </summary>

您可以保留RetryPolicy,但是您需要将错误检测策略替换为您自己的ITransientErrorDetectionStrategy实现,例如检测超时异常。