如何获取StackExchange.Redis的密钥数?

时间:2017-01-06 21:38:41

标签: c# azure redis stackexchange.redis

我有一个天蓝色的redis缓存。我已经设置了它,以便我可以根据this示例执行stringGet键设置。它非常棒。

但是,我想知道缓存是否为空,或者是否有(x)类型的C#对象的条目。我目前想知道我是否可以得到钥匙数。我还没有找到任何解决方案。

我唯一的想法是进行一次密钥扫描,搜索每一个密钥(全部获取),然后进行计数。但这似乎效率低下。是否有更多" meta"数据风格解决方案

谢谢!

1 个答案:

答案 0 :(得分:4)

根据我的理解,您可以利用IServer.Keys检索具有匹配模式的所有密钥,如下所示:

var endpoints=ConnectionMultiplexer.GetEndPoints();
var server = ConnectionMultiplexer.GetServer(endpoints.First());
var keys = server.Keys();

有关键扫描的更多详细信息,请参阅此tutorial