求助一下,公司项目是分库的,使用sequelize建立连接后会把连接保存在内存中。当分库很多的时候,内存占用过高,请问有什么办法可以解决。使用的是Koa框架。
求助一下,公司项目是分库的,使用sequelize建立连接后会把连接缓存保存在内存中。当分库很多的时候,内存占用过高,请问有什么办法可以解决。使用的是Koa框架。 目前思路:由于sequelize会import model建立表的映射。每个连接都有一份相同的model数据。目前想实现多个数据库连接共享model对象来减少内存的占用。但是不知道怎么弄,求大佬指教。
9 回复
up
清除 require.cache?
来自酷炫的 CNodeMD
会有多少库~难道>100个
[CNodeMD]
@dbit-xia 看业务数的,现在业务数就过百了,就有100多个sequelize实例保存在内存中了,但是这些实例的model其实是一样的。所以内存占用很高。
@zswnew 不是require的问题吧。。
求大佬指教
不需要每一个业务都新建一个sequelize实例吧,可以复用的,基本上一个DB一个sequelize实例就行了
@dingyuanwu 关键一个业务就是一个DB啊。根据业务来分库的
@1053910251 不产生过多的model就行了,可以考虑sequelize的query方法,该方法只有DB实例,不会产生model,但是需要自己拼接sql语句,看你具体的业务和团队的要求了,可以看一下