gpt4 book ai didi

caching - 分布式缓存 - 基本概念

转载 作者:行者123 更新时间:2023-12-03 15:41:05 30 4
gpt4 key购买 nike

我试图了解分布式缓存的基本概念及其用法。

首先,分布式缓存是一组机器,它们共同充当所有客户端的一个大缓存,还是客户端保留其本地缓存并且一个协调器只是向所有客户端发送更新,说明如何同步其本地副本?

其次,如果缓存是一组维护缓存数据的分布式机器,为什么我们不直接向数据库发送查询,而是通过网络将请求发送到缓存?我猜性能开销可能相似...

最后,分布式缓存的主要好处是什么,即为什么人们不坚持传统的本地缓存模型?

非常感谢您可能提供的所有答案/资源。

最佳答案

我将使用 Couchbase 作为分布式缓存的示例 ( http://www.couchbase.com/ )。

第一个问题:分布式缓存如何协调数据?

答案:通常分布式缓存确实是许多机器充当一个逻辑单元。因此,您可能有五台计算机都运行 Couchbase,它们会为您处理数据完整性和冗余。换句话说,如果一台机器死了,你仍然可以从集群中获取数据。 (但是是的,如果出现故障,每个节点都会有一份数据副本。)

一些集群机器会在集群中的机器前面有一个进程来路由请求,有时您使用多个连接字符串,客户端会将请求轮询到集群。只看技术。

第二个问题:为什么要使用缓存,因为它都通过网络传输?

答案:相当多的分布式缓存技术仅存在于 RAM/内存中。它们永远不必去磁盘进行查询,因此它们比典型的数据库更快。

此外,数据库通常需要做一些工作来将来自多个表的数据连接在一起,而缓存通常只将数据存储在一个键/值中。这意味着缓存永远不必实际处理任何事情。它只是进行廉价的直接查找。

第三个问题:为什么在本地缓存上使用分布式缓存?

答案:当您开始扩展时,您将需要分布式缓存。

首先,缓存会变得非常大,如果它只在内存中运行,它将与您的 Web 服务器(或其他任何服务器)争夺资源。最好有一台专用于缓存的机器。

其次,缓存的扩展方式与堆栈中的其他技术不同。每十个 Web 服务器节点可能只需要四个缓存节点。最好分开。

最后,您希望任何客户端都能够连接并获取最新数据。否则,如果用户从一个 Web 服务器跳到 Web 场中的另一个 Web 服务器,缓存的数据可能会大不相同。

关于caching - 分布式缓存 - 基本概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16796333/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com