【问题标题】:ruby redis client scan vs keysruby redis 客户端扫描与密钥
【发布时间】:2014-04-04 07:37:49
【问题描述】:

我正在为 redis 的 ruby​​ 客户端寻找一些文档,但没有成功。 我正在使用密钥,但我听说它们在生产 redis 中的表现很糟糕。

$redis = Redis.new(host: Settings.redis_host, port: Settings.redis_port)
keys = $redis.keys("prefix*")

想切换到$redis.scan("prefix*"),但我没有找到任何示例。 也试过了

keys = $redis.scan(0, {match: "key:1?"})
Redis::CommandError: ERR syntax error
keys = $redis.scan(0, match: "key:1?")
Redis::CommandError: ERR syntax error

对此有一点了解。 谢谢。

编辑: 将 redis 客户端从 3.0.4 更新到 3.0.7 后,

keys = $redis.scan(0, match: "prefix*")

工作。

【问题讨论】:

    标签: ruby redis


    【解决方案1】:

    这样做:

    keys = $redis.scan(0, match: 'prefix?')
    

    Here 是您需要的“文档”。

    请务必阅读official documentationSCAN

    【讨论】:

    • 嗨,收到keys = $redis.scan(0, match: 'prefix*') Redis::CommandError: ERR syntax error
    • 你用的是redis-rb驱动吗?如果有,是哪个版本?您现在也可以尝试使用更新后的答案吗?
    • 嗨,从 redis 3.0.4 更新到 3.0.7 后,此语法有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2019-07-09
    • 2015-08-01
    相关资源
    最近更新 更多