node.js下操作redis问题窜库问题
Node.js开发环境下,从MySQL读取数据,将MySQL不同表中的数据缓存至redis中不同的库中,代码如下:
// 初始化应用信息
var init_app_info = function(mysql, redis, config) {
mysql.query('select * from bg_app_info', null, {logging:false, plain:false, raw:true}).success(function(res){
if(res.length > 0) {
res.forEach(function(app){
var redis_app_info = 'AppInfo:' + app.id;
var redis_app_key = 'AppKey:' + app.appkey;
redis.select('1', function(){
redis.hmset(redis_app_info, app);
redis.del(redis_app_key, function(){
redis.set(redis_app_key, app.id);
});
});
});
}
});
}
// 初始化广告投放关键字
var init_ad_keyword = function(mysql, redis, config) {
mysql.query('select * from bg_ad_keyword', null, {logging:false, plain:false, raw:true}).success(function(res){
if(res.length > 0) {
res.forEach(function(info){
redis.select('2', function(){
var redisKey = 'adkeywordadid:' + info.ad_id;
redis.lpush(redisKey, info.keyword);
});
});
}
});
} 以上代码在同一个脚本中,运行该脚本,发现数据并没有按要求写入指定的redis库中,而是出现交叉存放。现在想请教如何解决以实现最初的要求。