为了账号安全,请及时绑定邮箱和手机立即绑定

为什么redis在java是同步缓存,而在nodejs是异步缓存?

为什么redis在java是同步缓存,而在nodejs是异步缓存?

潇湘沐 2019-03-13 17:14:39
在java下可以使用 :String value = redis.get(key);是同步的但在nodejs 下使用:```javascriptvar value ;var isConnection = client.get(key,function(err,repy){value = repy;client.quit(); //调用了quit之后isConnection就是false了,这个get方法应该是返回连接状态吧?});````
查看完整描述

1 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

我看了一下node redis代码,client.get直接返回的结果是!client.shou_buffer。而且对于异步操作的js,这个值肯定是它向redis发送请求之前就被返回了的。


var returned = client.get(key,function(err,repy){

value = repy;

console.log(‘value is ’,value);

client.quit(); 

})

console.log(‘returned is ’,returned)

你可以看看哪个被先打印出来。

而且不要在返回数据之后就quit,因为你还要接着存取数据,下次难道还要用client手动连接上吗?这不是php。


查看完整回答
反对 回复 2019-04-15
  • 1 回答
  • 0 关注
  • 950 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号