Повторите политику, используя 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.
/// <summary>
/// Provides the transient error detection logic that can recognize transient faults when dealing with Windows Azure Caching.
/// </summary>
Вы можете оставить RetryPolicy, но вам нужно будет заменить стратегию обнаружения ошибок своей собственной реализацией ITransientErrorDetectionStrategy
Например, для обнаружения исключений тайм-аута.
Это правильно. Вы можете повторно использовать логику RetryPolicy