javascript - 为什么redis在java是同步缓存,而在nodejs是异步缓存?
PHPz
PHPz 2017-04-10 13:12:20
[JavaScript讨论组]

在java下可以使用 :

String value = redis.get(key);

是同步的

但在nodejs 下使用:

"javascript
var value ;
var isConnection = client.get(key,function(err,repy){
value = repy;
client.quit(); //调用了quit之后isConnection就是false了,这个get方法应该是返回连接状态吧?
});
"`

PHPz
PHPz

学习是最好的投资!

全部回复(1)
高洛峰

我看了一下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。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号