Redis :: CommandError:运行rspec时ERR无效的DB索引

时间:2013-01-11 21:39:11

标签: ruby-on-rails rspec redis

我刚刚开始研究现有的Rails代码库,我正在尝试在代码库中运行测试。但是,当我运行bundle exec rspec spec/时,每次测试都会出现以下错误:

Failure/Error: Unable to find matching line from backtrace
Redis::CommandError:
   ERR invalid DB index
 # ./lib/redised.rb:35:in `flushdb_all'
 # ./lib/redised.rb:35:in `each_value'
 # ./lib/redised.rb:35:in `flushdb_all'

我对rails非常陌生 - 我在Michael Hartl的rails教程中只完成了11章中的8章 - 所以我对Redis并不熟悉。我的Redis版本为redis-2.4.17

2 个答案:

答案 0 :(得分:22)

问题是我需要增加数据库的数量。为此,我转到了/usr/local/etc并修改了redis.conf。我将数据库编号设置为128:databases 128

答案 1 :(得分:2)

虽然为时已晚,但可能对其他人有帮助。

如果您使用的数据库名称如'test',请将其替换为'0'/ 0之类的索引。如果您不确定索引,请尝试将0作为索引。祝您好运