我已经开始研究和玩lua了一下,并且发现在想要获取按键范围时它很棒.例如:
business:5:visits:2013-11-12
business:5:visits:2013-11-13
etc
Run Code Online (Sandbox Code Playgroud)
使用lua我只需要向redis发送一个命令而不是完整的日期范围.
现在我正在考虑转换更多逻辑并将其移至Redis上.
采取我们的消息存储过程,目前看起来像这样:
// create a new unique id
redisClient.incr(Config.messageId, function(err, reply) {
var messageId = reply.toString();
var timestmp = Date.now();
// push message
redisClient.zadd(Config.history + ':' + obj.uid + ':' + obj.channel.replace(/\s+/g, ''), timestmp, messageId);
// store the message data by messageId
redisClient.hmset(Config.messageHash + ':' + messageId, {
'user_id': obj.uid,
'text_body': "some text",
'text_date': timestmp,
});
// set expires
redisClient.expire(Config.history + ':' + obj.uid + ':' + obj.channel.replace(/\s+/g, ''), Config.messageExpire);
redisClient.expire(Config.messageHash + ':' + messageId, …Run Code Online (Sandbox Code Playgroud)