【发布时间】:2020-02-10 22:00:27
【问题描述】:
我正在为一个使用 knex.js 处理所有 sql 相关内容的应用程序制定缓存策略。 有没有办法拦截查询以检查是否可以从缓存中获取而不是查询数据库?
简要查看了 knex.js 事件,其中有一个查询事件。 文件: 查询事件在查询发生之前触发,提供有关查询的数据,包括连接的 __knexUid / __knexTxId 属性和有关查询的任何其他信息,如 toSQL 中所述。用于记录整个应用程序中的所有查询。
这意味着可以做类似的事情(也来自文档)
.from('users')
.on('query', function(data) {
app.log(data);
})
.then(function() {
// ...
});
但是是否可以在实际执行对数据库的查询之前使 on query 方法拦截并执行一些逻辑?
【问题讨论】:
标签: node.js postgresql express knex.js