簡體   English   中英

從IRedisClient獲取僅緩存緩存命中的鍵/值映射

[英]Get key/value mapping of cache only cache hits from IRedisClient

我正在使用ServiceStack提供的Redis客戶端的v3。 我正在實現“裝飾器模式”,並且有一個類將包裝緩存邏輯包裝在我的存儲庫中,這樣如果有緩存未命中,我可以查看存儲庫中的數據。 問題是在某些情況下,我想在緩存中添加null ,以便有一個條目,但沒有值。 這意味着我不會去數據庫獲取該值。

如果有什么辦法讓按鍵的映射,我需要知道的是/ 緩存值命中為IRedisClient接口。

有多種方法可以使用此接口從緩存中檢索值。 首先,我嘗試了GetAll<T>方法。 這將返回緩存中的項目,如果不存在則返回T的默認值。 這對我沒有幫助,因為它看起來像我已經為給定的鍵添加了一個null條目。

然后我嘗試了GetValues但只返回它找到的值,而不是關聯的鍵。

最后,我嘗試了GetValuesMap<T>但這似乎與GetAll<T>完全相同。

有沒有人知道如何獲得只有緩存命中的映射?

謝謝!

IRedisClient有一個名為ContainsKey(字符串鍵)的方法,您可以在嘗試Get之前檢查它。

如果ContainsKey返回true,則表示如果返回null值,則自行添加。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM