我像这样使用 Docker 运行 redis:
docker run --rm -p '6379:6379' -v "$redis_data_dir:/data" --name my_redis_server -d redis redis-server --appendonly 'yes'
过去这工作正常,但现在我收到此错误:
{ ReplyError: ERR DB index is out of range at parseError (/root/interos/repos/ntrs-cli/node_modules/redis-parser/lib/parser.js:179:12) at parseType (/root/interos/repos/ntrs-cli/node_modules/redis-parser/lib/parser.js:302:14)
command: { name: 'select', args: [ '20127' ] } }
看起来它正在尝试连接到 db
20127
,我确定它是这四个之一:const client_db0 = new Redis(`redis://${conf["platform-build.public-dns"]}:6379/0`);
const client_db1 = new Redis(`redis://${conf["platform-build.public-dns"]}:6379/1`);
const client_db2 = new Redis(`redis://${conf["platform-build.public-dns"]}:6379/2`);
const client_db3 = new Redis(`redis://${conf["platform-build.public-dns"]}:6379/3`);
那么有什么方法可以启动redis并告诉它添加更多数据库吗?就像是:
docker run .... redis redis-server --appendonly 'yes' --db-count=16
最佳答案
在文件中 etc/redis/redis.conf
换线databases 16
(默认情况下,它有 16 个),很可能您需要超过 16 个
默认情况下,每个 DB 索引负责 8 或 10 个数据库(不记得了),因此默认情况下您只使用 2 个索引(0 和 1)
关于docker - redis: ReplyError: ERR DB 索引超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58106646/