我想听听Redis的过期事件.我在我redis.conf的配置上notify-keyspace-events "AKE",这是我在节点上的代码:
const redis = require('redis');
const client = redis.createClient();
const subscriber = redis.createClient();
const KEY_EXPIRING_TIME = 10; // seconds
client.setex('myKey', KEY_EXPIRING_TIME, 'myValue');
subscriber.on('message', function(channel, msg) {
console.log( `On ${channel} received ${msg} event`);
});
subscriber.subscribe('myKey', function (err) {
console.log('subscribed!');
});
Run Code Online (Sandbox Code Playgroud)
我希望在10秒内看到事件被触发.setex命令工作正常,10秒内密钥不在数据库中,我在尝试捕获事件时遇到问题.
我究竟做错了什么?
我正在使用嵌套的eager loading funcionality,这是续集的例子:
User.findAll({
include: [{
model: Tool,
as: 'Instruments',
include: [{
model: Teacher,
where: {
school: "Woodstock Music School"
},
required: false
}]
}]
}).then(function(users) {
/* ... */
})
Run Code Online (Sandbox Code Playgroud)
想象一下,你想要做一个endpoint"总结",你想要包括Teacher model但只有前三个结果
只使用嵌套的预先加载可能吗?
Sequelize提供了实现此目的的方法?
我有一个 Node 微服务正在监听队列,并且我将一些消息保存到 Redis 中(每 4-5 秒),但我不知道哪个是最佳选择。
我应该保持与 Redis 的打开连接,还是最好在每次使用数据库时打开和关闭连接?