Есть ли способ с помощью кэширования Azure определить, существует ли в кеше объект, имеющий определенный ключ, без фактического возврата самого объекта?
Я сейчас делаю что-то вроде
public bool IsKeyInCache(string cacheKey)
{
DataCacheItem item = null;
CacheRetryPolicy.ExecuteAction(() =>
{
item = cache.GetCacheItem(cacheKey);
});
return item != null;
}
Но поскольку объект в кеше очень большой и его десериализация требует больших затрат, производительность ужасна.
Я просмотрел документацию MSDN и не вижу альтернативы, но, возможно, я что-то упускаю.
Моя лучшая идея на данный момент состоит в том, чтобы добавить небольшой объект-маркер в кеш одновременно с моим большим объектом и проверить наличие объекта-маркера, где десериализация недорога. Но это не надежное решение, так как вполне возможно, что мой большой объект будет очищен из кеша, в то время как объект «маркер» останется.