这几天在搭建一个数据中心的项目,需要把线上的历史数据重组后,导入到 mongodb 里面,中间需要有个过渡存储。考虑到知识临时存储,性能要求也比较高,就采用了 redis 存储的方案。
在配置 database.redis 的时候,一直报这个错,虽然很快就解决了,但这个坑还是记录一下。
错误提示:
`SELECT` failed: ERR invalid DB index
错误原因:
laravel5 框架的 redis 配置项(config/database.php),有这句:
'database' => env('REDIS_DEFAULT_DATABASE', 0),
如果.env 里面 REDIS_DEFAULT_DATABASE=0,结果就转成空字符串 ”,redis 的 command就变成 SELECT,而非想要的 SELECT 0
解决方法
(1)REDIS_DEFAULT_DATABASE= 1-15 的随意有效值
(2)REDIS_DEFAULT_DATABASE=‘0’,明确是 string 0
(3).env里不写 REDIS_DEFAULT_DATABASE, 会使用默认值 int 0
另外还有一点需要注意,设置的 REDIS_DEFAULT_DATABASE 如果不存在,比如说大于 15,也会报错。如果确实需要特别大的值,可以在 redis 配置中设置。
本文为 陈华 原创,欢迎转载,但请注明出处:http://ichenhua.cn/read/31
- 下一篇:
- 对蛋壳公寓室友摔门事件的思考(上)