检索存储在Redis(Ruby)中的所有密钥的列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检索存储在Redis(Ruby)中的所有密钥的列表相关的知识,希望对你有一定的参考价值。

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

答案

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

redis.keys('*')
另一答案

如果你的数据库中有大量的记录,内核会杀死你的redis.keys,因为它会占用太多内存。

你想要的是分批提取密钥。 redis-rb有一个很棒的方法(redis本身没有):

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

如果您想要所有键,请不要使用match选项。

另一答案

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

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

以上是关于检索存储在Redis(Ruby)中的所有密钥的列表的主要内容,如果未能解决你的问题,请参考以下文章

Javascript:从 sessionStorage 中检索所有密钥?

从Ruby中的列表中获取所有对的组合

你将如何获得最后 10 个键 redis?

从Redis集中检索数据

ruby Redis使用给定的命名空间过期密钥

高效查询 Redis