36

DB に格納されているすべてのキーのリストを返す redis-rb gem に関数はありますか? 私の最終目標は、すべてのキーと値のペアを繰り返し処理し、それらに対して何らかのアクションを実行することです。

4

3 に答える 3

25

redis.keysデータベースにかなりの量のレコードがある場合、カーネルはRAMを使いすぎるため 、あなたを殺します。

必要なのは、バッチでキーを抽出することです。redis-rbには、これに対する素晴らしい方法があります ( redis自体には存在しません)。

    redis.scan_each(match: 'user:*') do |resume_key_name|
        resume_key_name #=> "user:12"
    end

matchすべてのキーが必要な場合は、オプションを使用しないでください。

于 2015-11-27T13:51:26.577 に答える