从续集钩子返回不同的结果

时间:2015-05-08 15:03:46

标签: node.js caching sequelize.js

我正在努力整理我的缓存是如何工作的,因此希望将其实现到我的模型的钩子中。这是我到目前为止实现的,我可以看到它正在设置和正确获取缓存。

chown -R mysql:mysql /var/lib/mysql

问题是,在缓存命中后,它仍在执行数据库查询并从数据库返回结果。

有人可以告诉我如何从缓存中返回结果,而不是在缓存命中的情况下执行db查询吗?

1 个答案:

答案 0 :(得分:1)

让我们来看看代码findAll(因为它要求所有的发现)。你可以看到,它将返回Promise,首先执行钩子,然后在块中查询。这就是为什么你不能以这种方式实现缓存的原因。这篇issue讨论了sequelize如何实现插件系统(特别是缓存)的热门讨论。

你能知道什么?看看这个lib,其中Cacher对象是在模型上实现的。