为啥redis在java是同步缓存,而在nodejs是异步缓存
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥redis在java是同步缓存,而在nodejs是异步缓存相关的知识,希望对你有一定的参考价值。
参考技术A 在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方法应该是返回连接状态吧?
);
client.get直接返回的结果是!client.shou_buffer。而且对于异步操作的js,这个值肯定是它向redis发送请求之前就被返回了的。 参考技术B JAVASCRIPT中是没有多线程的,所有涉及外部IO的全部都是回调。
这样的好处是JS天然就是一个不会阻塞的系统,这也是NODEJS现在作为前后端黏合层的原因。 参考技术C 因为redis是单线程的,也就是线程安全的
以上是关于为啥redis在java是同步缓存,而在nodejs是异步缓存的主要内容,如果未能解决你的问题,请参考以下文章
redis作为mysql的缓存服务器(读写分离,通过mysql触发器实现数据同步)