当前位置:  开发笔记 > 编程语言 > 正文

Redis Stack Exchange如何通过模式删除或获取密钥

如何解决《RedisStackExchange如何通过模式删除或获取密钥》经验,为你挑选了2个好方法。

我在C#中安装了Stack Exchange redis客户端.我只能删除一个键或一组键,但我不知道如何删除带前缀的键.或者另一种解决方案可以先按模式获取所有密钥,然后删除它们.但我不知道如何按模式获取密钥.



1> Kerem Demire..:

您可以执行以下操作从批处理中删除redis缓存中的项目.(StackExchange.Redis.StrongName v1.0.488)

foreach (var ep in _muxer.GetEndPoints())
{
    var server = _muxer.GetServer(ep);
    var keys = server.Keys(database: _redisDatabase, pattern: pattern + "*").ToArray();
    _db.KeyDeleteAsync(keys);
}

_muxer 是的例子 ConnectionMultiplexer

它不会按照您的要求按模式删除,但比单独删除每个键要快得多.



2> Marc Gravell..:

删除是按键分开的,除非您正在刷新整个数据库.

密钥扫描很容易在IServerAPI 上获得,这里将对此进行更多讨论:https://stackexchange.github.io/StackExchange.Redis/KeysScan

但是,在生产中通常应该避免 - 这不是redis的预期用例.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有