在Node.js中进行Redis缓存

问题描述 投票:0回答:1

所以我一直在看这个模块,所以我不明白为什么它使用回调。

我认为内存缓存应该是快速的,这也是人们使用缓存的目的,因为它的速度很快……就像即时一样。

添加回调意味着您需要等待一些东西。但是实际上您需要等待多少时间?如果结果很快返回给您,您不是通过将所有内容包装在回调+ Promise之中来减慢速度吗(因为作为该模块的用户,您被迫承诺这些回调)?

javascript node.js redis promise callback
1个回答
0
投票

根据设计,javascript对于大多数外部调用(http,第三方库,...)都是异步的。

提及here

Javascript是单线程语言。这意味着它具有一个调用堆栈和一个内存堆。正如预期的那样,它按顺序执行代码,并且必须完成执行片段代码,然后才能继续执行下一个代码。它是同步的,但有时可能是有害的。例如,如果一个函数需要一段时间才能执行或必须等待某件事,那么它会同时冻结所有内容。

具有同步功能将阻止线程和脚本的执行。为了避免任何阻塞(由于网络,文件访问等),建议异步获取这些信息。

在大多数情况下,redis缓存将花费几毫秒。但是,这可以防止可能出现的网络延迟,并使您的应用程序正常运行并为客户带来少量的连接错误。

© www.soinside.com 2019 - 2024. All rights reserved.