Повторите политику, используя Azure Redis Cache

Недавно мы перешли с внутреннего кэширования Azure на Redis Cache Azure (который используется веб-сайтами Azure).

Сейчас я нахожусь в процессе рассмотрения кода, и одна линия попалась на глаза.

using Microsoft.Practices.TransientFaultHandling;

// CODE

_retryPolicy = new RetryPolicy<CacheTransientErrorDetectionStrategy>(retryStrategy);

// CODE

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

Имеет ли смысл RetryPolicy из сборки TransientFaultHandling для Redis Cache? Или это код, который на самом деле больше не имеет смысла, поскольку мы используем Redis Azure вместо кэширования в роли?

2 ответа

Решение

Вы правы, чтобы поднять его в качестве подозреваемого, CacheTransientErrorDetectionStrategy построен специально для Windows Azure Caching.

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Например, для обнаружения исключений тайм-аута.

Это правильно. Вы можете повторно использовать логику RetryPolicy

Другие вопросы по тегам