我目前正在用Angular2、NodeJS和Redis构建一个小型应用程序,其中用户信息将存储在Redis实例中。我是Redis的新手,在尝试可视化我需要创建的功能时遇到了困难。
用户通过Angular2前端在输入表单中输入单词。然后将该单词转换为不同的字符串,然后将这些值以对象的形式存储在存储中(Redis)。只需要存储最后10个项,因此存储DB的长度需要为10,其中最新的项被附加到集合中,如果长度已经是10,则最后一个项被修剪。
我很难在Redis中实现这一点,而且我在NodeJS层的Redis命令似乎没有做我想让它们做的事情。
下面是处理用户输入的NodeJS控制器:
var Config = require(global.appRoot + '/Config.js');
var redisClient = require('../lib/redisConnection');
function Storage() {
this.__objectName = 'Storage';
}
Storage.prototype.storeTerm = function(req, res, next) {
var word = req.body.word;
var newWord = req.body.newWord;
var hashToStore = {
word: newWord
};
redisClient.hmset(['words', word], function(err, reply) {
if(err) {
res.json('Error:' + err);
} else {
res.json(reply);
}
});
};
module.exports = Storage;如你所见,用户输入从Angular2 http调用发送到此函数,然后解析后的值,放入对象hashToStore中,然后我尝试将其保存在一个名为'words‘的散列中。这似乎不起作用,我不确定如何实现10限制功能。
有没有人能告诉我这是对的,或者我哪里错了?
谢谢
发布于 2017-02-23 21:00:44
https://stackoverflow.com/questions/42416235
复制相似问题