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