gpt4 book ai didi

node.js - 如何使用 Sails 为 Redis 记录调用 EXPIRE 命令

转载 作者:可可西里 更新时间:2023-11-01 11:00:33 24 4
gpt4 key购买 nike

我正在使用 Sails 向 Redis 添加一些数据...它工作正常,但我不确定如何为 key 设置 EXPIRE...

我正在为模型使用 sails-redis 适配器/连接...我的模型看起来像这样

module.exports = {
connection: 'cache',
attributes: {
id: {type: 'string', primaryKey: true},
data: {type: 'string'}

}
};

保存我使用的模型

Cache.create({id: "somekey", data: data}, function(err, data){})

最佳答案

据我所知,Waterline 不为当前附近的 native 适配器提供此功能。然而,这有点 hacky,但您可以通过 Waterline 访问 redis 客户端本身,并使用创建的模型 ID 来访问它。

// Create the base model
Model.create({ field: value }).exec( function ( err, created ) {
if ( created ) {
// Then manually set expiration via native Redis adapter
var native = Model.adapter.connections.connectionName._adapter.native;

native( 'connectionName', null, function ( err, connection ) {
if ( connection ) {
connection.expire('waterline:<model name, lower case>:id:' + created.id, <timeout, in seconds>, function ( err, reply ) {
console.log( err, reply );
});
}
});
}
});

不像我喜欢的那样干净,但我也不喜欢手动编写 Redis 本身内置的功能。

关于node.js - 如何使用 Sails 为 Redis 记录调用 EXPIRE 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26532708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com