c# - 使用 C# 扫描 Redis 缓存中的缓存键

标签 c# caching redis invalidation stackexchange.redis

我在我的项目中使用了 Redis 缓存。现在有一种情况是缓存是动态生成的像 "KeyPrefix"+i i 是一个动态值

现在我想删除所有前缀为“KeyPrefix”的键

如何在我的代码中删除匹配的键。但是我需要删除所有包含一些前缀的键。

  IDatabase cache = RedisDistributedCacheManager.GetDatabase();
                cache.KeyDelete(cacheKey);

谢谢 达尔维尔

最佳答案

Redis 键扫描针对的是服务器,而不是单个数据库。因此,您可以获取服务器变量,然后使用 Keys 方法获取所有需要的 key :

var server = conn.GetServer(someServer);    
server.Keys(pattern: "*foo*"))

先查看文档: https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/KeysScan.md

关于c# - 使用 C# 扫描 Redis 缓存中的缓存键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32823554/

相关文章:

redis - Redis 中按类别、作者和日期分组的计数器

c# - 如何使用 xmldocument 获取最新的节点详细信息?

c# - 在 Visual Studio/C# 中编译时强制使用 "this"和 "base"

c# - 如何在 MS 构建任务中使用 NewtonSoft.json?

javascript - 使用 jQuery 以 Base64 缓存图像文件

java - 我们如何在运行java web应用程序的服务器端缓存MySQL查询?

c# - Razor Pages POST 处理程序在 IIS 上返回 404

java - ImageIO读取中的控制缓存意味着什么

java - Spring Data Redis 支持 Externalizable 吗?

azure - 如何让Redis在Azure上运行?