Redis - 通过散列键上的模式匹配删除字段

时间:2016-12-01 06:10:18

标签: redis redis-cli

我在Redis中有以下结构,

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

commkey将出现在所有hashkeys上,后跟命名空间和唯一字符串(hkey1,hkey2,hkey3 ......)。我想删除所有键中的所有target1。 target1commKey:hkey1中显示commKey:hkey3。所以,这就像匹配commKey:*和del target1。我试图用hscan来实现它,它可以在子键(字段)上启用模式匹配。但我需要在" haskkey"上进行。如何以有效的方式做到这一点?提前谢谢。

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

1 个答案:

答案 0 :(得分:0)

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

  1. 使用SCAN命令获取与commKey:*
  2. 匹配的密钥
  3. 对于每个密钥,请调用HDEL删除给定目标,无论哈希是否具有此类字段。