【内推字节】欢迎简历chengxinsong@bytedance.com

sau交流学习社区--UnhandledPromiseRejectionWarning: ReplyError: ERR invalid DB index,运行后端koa出现报错,分析以及解决办法

今天运行后端koa出现这个问题,当时自己还一脸懵逼,?????

报错信息:(node:8668) UnhandledPromiseRejectionWarning: ReplyError: ERR invalid DB index

一、问题出现

使用百度翻译了一下,知道是数据库的索引有问题,还是一脸懵逼状态。????


二、问题分析

发现问题是:

一个redis实例默认有16个数据库,从0-15,超出这个范围就会爆ERR invalid DB index,在redis_home/redis.windows-service.conf(我的redis作为windows服务存在,所以修改这个配置文件,如果不是服务,可以修改redis.windows.conf)中,描述如下。

# Set the number of databases. The default database is DB 0, you can select # a different one on a per-connection basis using SELECT where # dbid is a number between 0 and 'databases'-1 databases 16

涉及到多实例数据库,redis的多数据库类似mysql数据库,一个mysql实例就可以有多个数据库,但是,redis的数据库不推荐用来分隔数据,redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实例上呢?就相当于mysql数据库,不同的应用程序数据存储在不同的数据库下,redis没有提供任何方法来关联标识不同的数据库。

redis中,数据库是由一个整数索引标识,而不是由一个数据库名称。默认情况下,一个客户端连接到数据库0。redis配置文件中下面的参数来控制数据库总数。


三、解决办法

第一种:修改配置koa对redis的配置文件,将16改成15

第二种:修改redis的配置文件,redis.windows.conf,将数据库修改为18

采用其中一种只有运行,正常了


文章转载:原创
感谢你的阅读,本文由 sau交流学习社区 版权所有。
如若转载,请注明出处:sau交流学习社区-power by saucxs(程新松)(/page/486.html)
交流咨询
    官方QQ群
    群号663940201,欢迎加入!
    sau交流学习社区交流群

微信群
欢迎加入微信群
微信公众号
欢迎关注微信公众号

图文推荐

微信群
saucxs聊天机器人
saucxs
hi ,欢迎来到sau交流学习社区,欢迎与我聊天,问我问题哦!
您正在使用的浏览器是,不在支持范围内!
为了您的正常使用与展示,推荐使用Chrome浏览器68以上版本
支持浏览器:
火狐浏览器最新版
Safari浏览器最新版
Edge浏览器最新版
IE浏览器10,11