标签: node.js caching sequelize.js
我正在努力整理我的缓存是如何工作的,因此希望将其实现到我的模型的钩子中。这是我到目前为止实现的,我可以看到它正在设置和正确获取缓存。
chown -R mysql:mysql /var/lib/mysql
问题是,在缓存命中后,它仍在执行数据库查询并从数据库返回结果。
有人可以告诉我如何从缓存中返回结果,而不是在缓存命中的情况下执行db查询吗?
答案 0 :(得分:1)
让我们来看看代码findAll(因为它要求所有的发现)。你可以看到,它将返回Promise,首先执行钩子,然后在块中查询。这就是为什么你不能以这种方式实现缓存的原因。这篇issue讨论了sequelize如何实现插件系统(特别是缓存)的热门讨论。
你能知道什么?看看这个lib,其中Cacher对象是在模型上实现的。