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