我知道Redis中的EXPIREAT用于指定密钥何时到期.我的问题是它需要一个绝对的UNIX时间戳.如果我希望密钥在一天结束时到期,我发现很难想到我应该设置什么作为参数.
这是我设置密钥的方式:
client.set(key,body);
所以设置到期时间:
client.expireat(key,???);
有任何想法吗?我正在使用nodejs和sailsjs谢谢!
所以我目前正在学习Sails.js一些教程,现在我已经多次遇到过这个问题.
我试着寻找解决方案,但它们似乎都没有用.
module.exports = {
signup: function(req, res) {
var username = req.param("username");
var password = req.param("password");
Users.findByUsername(username).done(function(err, usr){
if (err) {
res.send(500, { error: "DB Error" });
} else if (usr) {
res.send(400, {error: "Username already Taken"});
} else {
var hasher = require("password-hash");
password = hasher.generate(password);
Users.create({username: username, password: password}).done(function(error, user) {
if (error) {
res.send(500, {error: "DB Error"});
} else {
req.session.user = user;
res.send(user);
}
});
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
问题似乎就在这条线上,它说:
undefined不是一个函数.
Users.findByUsername(username).done(function(err, usr) …Run Code Online (Sandbox Code Playgroud) 正如我在之前的问题中所说,我正在尝试学习如何使用sails.js,我现在要做的是将api的响应缓存到redis.我已经搜索了如何做到这一点,但我不能让它工作.没有缓存,我通过ajax调用api.
有关如何使用我的控制器进行操作的任何想法?如何使用sails.js中的控制器调用api并使用redis缓存响应?