我把我的红宝石客户升级到3.0.7。然后,这个方法在我的本地主机上工作。
[5] pry(main)> $redis.scan(0, :match => "restrict*")
[
[0] "5",
[1] [
[0] "restrict_3",
[1] "restrict_2"
]
]但是在我的远程服务器上,它失败了(就像升级之前在本地主机上失败一样)
2.0.0p247 :001 > $redis.scan(0, :match => "question*")
Redis::CommandError: ERR unknown command 'scan'
from /usr/local/rvm/gems/ruby-2.0.0-p247@my_app/gems/redis-3.0.7/lib/redis/client.rb:97:in `call'知道为什么吗?
编辑:这是bundle show redis的输出
localhost
/Users/ohad/.rvm/gems/ruby-2.0.0-p247@my_app/gems/redis-3.0.7
remote
/usr/local/rvm/gems/ruby-2.0.0-p247@app/gems/redis-3.0.7编辑:问题解决了。redis (服务器,而不是ruby客户端)是2.6,应该更高。
发布于 2014-03-05 11:50:15
答案是远程服务器正在运行Redisserverv2.6。
不过,SCAN是在2.8中添加的。
https://stackoverflow.com/questions/22194109
复制相似问题