为啥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 为啥要主从复制·

redis作为mysql的缓存服务器(读写分离,通过mysql触发器实现数据同步)

如何在Nodejs中使用缓存

Java电商项目-6.实现门户首页数据展示_Redis数据缓存

SpringBoot进阶之缓存中间件Redis

在nodejs中怎么使用redis缓存组件