【问题标题】:Ruby On Rails, Redis::CommandError: ERR wrong number of arguments for 'set' commandRuby On Rails,Redis::CommandError:“set”命令的参数数量错误
【发布时间】:2015-03-21 03:10:24
【问题描述】:

为什么会有这段代码

redis.set("test", true, ex: 24.hours)

返回以下异常?

Redis::CommandError: ERR wrong number of arguments for 'set' command

我使用这些宝石

  • redis (3.2.0)
  • redis-rails (4.0.0)

【问题讨论】:

    标签: ruby-on-rails ruby redis redis-rails


    【解决方案1】:

    可能是redis版本有问题,查看这里了解更多信息:https://github.com/redis/redis-rb/issues/372

    【讨论】:

    • 感谢您指出这一点。更具体地说,2.6.12 之前的 Redis 版本不支持向 SET 和类似命令传递额外的参数。
    【解决方案2】:

    以上答案是正确的。您需要更新 Redis。如果您使用的是 mac,请按照以下步骤快速更新 Redis:

    1. http://redis.io/download下载最新版本
    2. 解压并转到控制台中的该文件夹
    3. $ make
    4. $ make install

    如果您目前正在运行旧版本的 Redis,请将其杀死:

    1. $ ps -ef | grep redis,PID是第一行的第二个数字
    2. sudo kill <the PID>

    就是这样

    【讨论】:

    • sudo pkill redis
    猜你喜欢
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    • 2020-12-28
    • 2021-08-09
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 2013-03-21
    相关资源
    最近更新 更多