2

我在 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:hkey1和中commKey:hkey3。所以,这有点像 matchcommKey:*和 del target1。我尝试使用hscan它启用子键(字段)上的模式匹配。但我需要在“haskkey”上做。如何以有效的方式做到这一点?提前致谢。

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

4

1 回答 1

0

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

  1. 使用SCAN命令获取匹配的键commKey:*
  2. 对于每个键,调用HDEL以删除给定的目标,无论哈希是否有这样的字段。
于 2016-12-02T12:14:23.150 回答