node.js下操作redis问题窜库问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

node.js下操作redis问题窜库问题

2016-02-06 15:04:22 2438 1

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*frombg_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库中,而是出现交叉存放。现在想请教如何解决以实现最初的要求。

取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 18:38:24

    流程问题你的redis 是全局变量..
    你目前的情况是:
    同步的过程:
    redis 1 <-> redis 2
    异步回调使用的对象:
    callback -> redis 2 or redis1 ?(没有维护好对象状态)
    要解决这个问题,最简单就是建两个redis 选择不同的库..要不就是,先set好redis1 再去set redis2
    对了,查mysql的是异步的,根据回调的情况,全局redis的状态是在不断的变化..

    0 0
相关问答

30

回答

云计算之路:为什么要选择云计算

cnblogs 2013-03-27 10:22:27 143180浏览量 回答数 30

18

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 1047077浏览量 回答数 18

20

回答

[@倚贤][¥20]学习Java后端的疑惑

小江同志 2018-10-24 16:11:21 132575浏览量 回答数 20

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 157760浏览量 回答数 145

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 337099浏览量 回答数 8

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 147282浏览量 回答数 22

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 146074浏览量 回答数 31

38

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 259905浏览量 回答数 38

249

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 305701浏览量 回答数 249

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 204425浏览量 回答数 2
+关注
落地花开啦
喜欢技术,喜欢努力的人
0
文章
7824
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载