CNode

求助一下,公司项目是分库的,使用sequelize建立连接后会把连接保存在内存中。当分库很多的时候,内存占用过高,请问有什么办法可以解决。使用的是Koa框架。

问答
11053910251发布于8 年前最后回复8 年前9 回复3904 浏览0 收藏

求助一下,公司项目是分库的,使用sequelize建立连接后会把连接缓存保存在内存中。当分库很多的时候,内存占用过高,请问有什么办法可以解决。使用的是Koa框架。 目前思路:由于sequelize会import model建立表的映射。每个连接都有一份相同的model数据。目前想实现多个数据库连接共享model对象来减少内存的占用。但是不知道怎么弄,求大佬指教。

查看回复

回复 (9)

1
1053910251#1·8 年前
引用 dbit-xia会有多少库~难道 100个 [CNodeMD]

@dbit-xia 看业务数的,现在业务数就过百了,就有100多个sequelize实例保存在内存中了,但是这些实例的model其实是一样的。所以内存占用很高。

1
1053910251#2·8 年前
引用 zswnew清除 require.cache? 来自酷炫的 CNodeMD

@zswnew 不是require的问题吧。。

D
dingyuanwu#3·8 年前

不需要每一个业务都新建一个sequelize实例吧,可以复用的,基本上一个DB一个sequelize实例就行了

1
1053910251#5·8 年前

up

Z
zswnew#6·8 年前

清除 require.cache?

来自酷炫的 CNodeMD

D
dbit-xia#7·8 年前

会有多少库~难道>100个

[CNodeMD]

1
1053910251#8·8 年前

求大佬指教

D
dingyuanwu#9·8 年前

@1053910251 不产生过多的model就行了,可以考虑sequelize的query方法,该方法只有DB实例,不会产生model,但是需要自己拼接sql语句,看你具体的业务和团队的要求了,可以看一下

参与回复
登录后即可参与回复。登录