【发布时间】:2015-03-05 05:32:22
【问题描述】:
我正在使用 ServiceStack 提供的 Redis 客户端 v3。我正在实现“装饰器模式”,并且有一个将缓存逻辑包装在我的存储库周围的类,这样如果有缓存未命中,我可以在存储库中查找数据。问题是在某些情况下,我想将null 添加到缓存中,以便有一个条目,但没有任何价值。这意味着我将不会访问数据库以获得该值。
我需要知道的是,是否有任何方法可以为IRedisClient 接口的only 缓存命中获取键/值映射。
有多种方法可以使用此接口从缓存中检索值。首先,我尝试了GetAll<T> 方法。这将返回缓存中的项目和 T 的默认值(如果它不存在)。这对我没有帮助,因为它看起来好像我已经为给定的键添加了一个 null 条目。
然后我尝试了GetValues,但它只返回它找到的值,而不是关联的键。
最后,我尝试了GetValuesMap<T>,但这似乎与GetAll<T> 完全一样。
有谁知道一种方法来获取仅缓存命中的映射?
谢谢!
【问题讨论】:
标签: c# caching redis servicestack.redis