=としてRedisの名に設定されたハッシュを持っています
に一度の完全なHashSetのを削除「HGETALL」今
は、私は、このハッシュセットをフラッシュしたいのですが、「HDELALL」のようなコマンドはありません
ので、私は火、この場合には、ハッシュセット名自体を削除するには、「DEL」を使用していますこのようなコマンド -
すべてを一度に削除するには、この方法のみがあります。 他に解決策はありますか?ここで
=としてRedisの名に設定されたハッシュを持っています
に一度の完全なHashSetのを削除「HGETALL」今
は、私は、このハッシュセットをフラッシュしたいのですが、「HDELALL」のようなコマンドはありません
ので、私は火、この場合には、ハッシュセット名自体を削除するには、「DEL」を使用していますこのようなコマンド -
すべてを一度に削除するには、この方法のみがあります。 他に解決策はありますか?ここで
は、単一の、パイプライン化された要求を介しハッシュ内のすべてのキーを削除するにはルビーベースの方法です:あなたはキーのリストを持っている場合は
def hdelall(key)
r = Redis.new
keys = r.hgetall(key).keys
r.pipelined do
keys.each do |k|
r.hdel key, k
end
end
end
は、あなたは多分hdel with multiple keys を使用することができますが、私は確かだろうはO(N)の複雑さを持っているので、を使用しないことをお勧めします。あなたが削除したり、「myhash」ハッシュをフラッシュしたい場合はデル
を使用する必要がありますので、デフォルトのRedisのことで
はhashet内部の明確な機能を許可していません。
以下のコマンドを使用してください:
redis-cli
redis> del myhash
を、それは問題を解決することを願っています。
それは私のために働いた。ありがとう –
偉大な、それはあなたの答えをマークとして受け入れるようにしてください。 –
申し訳ありませんが、私は質問をしません。だから私は答えとしてそれを受け入れることはできません:) –
これは
all_keys = list(conn.hgetall('some_hash_name').keys())
conn.hdel('some_hash_name', *all_keys)
いいえ(「アクションでRedisの」本から)Pythonで動作するはずですし、これはあなたが行うことに期待しているものです。 Redisに空の値は存在しません。空のハッシュまたはハッシュが全くないのは、Redisの場合と同じです。 –
@Didier Spezia:ありがとう。 – Pranav
@Pranav私の答えは助けてくれますか?はいの場合はそれを受け入れてくださいそれ以外の場合は、何かが不明な場合は遠ざかります。 –