36

redis-rb gem 中是否有一个函数可以返回存储在数据库中的所有键的列表?我的最终目标是遍历我的所有键/值对并对它们执行一些操作。

4

3 回答 3

36

当然,redis-rb 公开了所有 Redis 命令并将它们表示为客户端对象上的方法。

redis.keys('*')
于 2013-08-02T17:13:46.670 回答
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 回答
8

redis.keys 这将以数组形式返回结果。

更多信息:http ://www.rubydoc.info/github/ezmobius/redis-rb/Redis

于 2015-03-31T13:34:30.297 回答