假设数据存储在数据库和分布式缓存(.i.e )中。(不需要连接),与直接访问数据库相比,分布式缓存的速度更快是否仍然相关?据我所知:
因此,这里的不同之处在于缓存访问时间和数据库查询时间(假设反序列化对于强大的服务器来说是快速的)。但是与网络时间相比,我认为缓存访问时间和数据库查询时间应该少得多,因此时间应该大致相同。
我知道我在这里有很多假设,但如果有人能帮我解释我是否正确理解(如果有统计数据的话),那就太好了。
发布于 2021-12-19 16:22:43
是的,所有的事情都是一样的,从内存缓存中访问数据的速度将比使用DB时快。
应用程序访问分布式缓存的延迟=网络时间+缓存访问(内存中)时间+反序列化(从二进制到对象)时间
对,是这样
应用程序访问数据库的延迟=网络时间+数据库查询时间(文件访问或数据库缓存)+水合时间(将数据库结果读入对象)
对,是这样
大多数DBs都会将页面保存在缓冲区缓存中,这实际上就像在内存中查找页面一样,但是在高吞吐量的数据库中,需要从磁盘中获取许多页面,这比访问主存要慢得多。
在缓存中,数据总是在内存中。在DB中,有些部分在内存中,有些在磁盘上。
NVME的速度非常快,但仍远不及从RAM访问数据的速度。
如果处理器是厨师,切碎和烹饪食物。你的内存是冰箱。你的硬盘就在街上的商店里。它就在那里,它并不太远,但它的速度远远不如你把它放在冰箱里。
https://stackoverflow.com/questions/27562449
复制相似问题