1
我陷入了一个小问题。我想从redis数据库中删除所有匹配字符串模式的哈希键/值对。我发现了一些针对命令行的解决方案,用于通过键值删除哈希值的问题,但没有针对通过值模式删除的相关问题。Redis通过散列值中的模式删除散列键
具体的例子:
redis> HSET myhash field1 "Wild"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HSET myhash field2 "Window"
(integer) 1
现在我想删除从myhash所有键/值对匹配,即FIELD1 /野,场3 /窗口,但离开场2 /世界不变的 “Wi *。”
我想这样做在命令行上,所以这样的事情将是巨大的:
redis-cli -n 0 KEYS someFoo* | xargs redis-cli -n 0 DEL
当然,上述工作不是哈希值。所以最后我需要以自动方式致电
redis-cli -n 0 hdel myhash field1
redis-cli -n 0 hdel myhash field3
。
是的,谢谢,但我的CLI技能也不是很好,我真的在寻找这样的解决方案。关于HSCAN,是的,这是一个好主意,因为有问题的散列有几百万个条目。 – luksch
对于这样复杂的事情,使用任何你最喜欢的语言编写一个小脚本可能是最容易的。 – captncraig