我在我的项目中使用Redis Cache。现在有一种情况是缓存是动态生成的,如“KeyPrefix”+ i i是动态值
现在我要删除所有具有前缀“KeyPrefix”
的键在我的代码中它是如何可行的我只能删除匹配的密钥。但我需要删除包含一些前缀的所有密钥。
IDatabase cache = RedisDistributedCacheManager.GetDatabase();
cache.KeyDelete(cacheKey);
由于 Dalvir
答案 0 :(得分:1)
Redis键扫描以服务器为目标,而不是单个数据库。因此,您可以获取服务器变量,然后使用Keys
方法获取所有需要的密钥:
var server = conn.GetServer(someServer);
server.Keys(pattern: "*foo*"))
首先检查文档: https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/KeysScan.md