Redis - 通过哈希键上的模式匹配删除字段

Redis - delete field by pattern matching on hash key

我在Redis中有如下结构,

commKey:hkey1
    target1 - value1
    target2 - value2
commKey:hkey2
    target2 - value3
    target3 - value4
commKey:hkey3
    target1 - value5
    target3 - value6
...

commkey 将出现在所有哈希键上,后跟命名空间和唯一字符串(hkey1、hkey2、hkey3 ...)。我想删除所有键中的所有 target1 。 target1 出现在 commKey:hkey1commKey:hkey3 中。所以,这类似于 match commKey:* 和 del target1。我试着用 hscan 来实现,它在子键(字段)上启用模式匹配。但我需要在 "haskkey" 上完成。如何以有效的方式做到这一点?提前致谢。

PS:我们有 commKey 因为将来我们可能想添加另一种不以 commKey 开头的哈希键,它不应该受此影响。

您应该扫描键,而不是哈希。

  1. 使用SCAN命令获取匹配commKey:*
  2. 的键
  3. 对于每个键,调用HDEL删除给定的目标,无论散列是否有这样的字段。