gpt4 book ai didi

c# - 从 IRedisClient 获取缓存仅缓存命中的键/值映射

转载 作者:可可西里 更新时间:2023-11-01 11:38:08 26 4
gpt4 key购买 nike

我正在使用 ServiceStack 提供的 Redis 客户端 v3。我正在实现“装饰器模式”,并有一个类将缓存逻辑包装在我的存储库周围,这样如果有缓存未命中,我可以在存储库中查找数据。问题是在某些情况下我想添加 null到缓存,以便有一个条目,但只是没有值(value)。这意味着我将不会去数据库中获取该值。

我需要知道的是,是否有任何方法可以为 IRedisClient 缓存命中获取键/值映射。界面。

有多种方法可以使用此接口(interface)从缓存中检索值。首先,我尝试了 GetAll<T>方法。这将返回缓存中的项目和 T 的默认值如果它不存在。这对我没有帮助,因为它看起来像是我添加了一个 null给定键的条目。

然后我尝试了 GetValues但这只会返回它找到的值,而不是关联的键。

最后,我尝试了GetValuesMap<T>但这似乎完全像GetAll<T> .

有谁知道一种方法来获取仅缓存命中的映射?

谢谢!

最佳答案

IRedisClient 有一个名为 ContainsKey(string key) 的方法,您可以在尝试获取之前检查它。

如果 ContainsKey 返回 true,则您知道如果返回 null 值,则表示您自己添加了它。

关于c# - 从 IRedisClient 获取缓存仅缓存命中的键/值映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28860292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com