gpt4 book ai didi

memcached - 什么是 memcached 服务器

转载 作者:行者123 更新时间:2023-12-02 09:38:58 27 4
gpt4 key购买 nike

我是学习 memcached 的初学者。 memcached 服务器最让我困惑。我可以像网络服务器一样将其视为单台服务器计算机吗?我也对 memcached 服务器和客户端之间的关系感到困惑,它们位于不同的计算机上吗?

最佳答案

我同意@phihag 回答的大多数事情,但我必须澄清一些事情。

Memcached 根据一个键(phihag 称之为 id,不要与数据库 id 混淆)存储数据。数据可以是各种大小的,因此您可以存储少量数据(例如从数据库中提取的 1 条记录),也可以存储大量数据(例如数百条记录或整个完成的 html 页面)。

内存缓存 不是 通常与应用程序服务器在同一台机器上使用,这是因为它被设计为通过 TCP 使用(如果它被设计为在同一台服务器上工作,它将可以通过套接字访问)并且它被设计为一个池服务器。

池化部分很有趣——你可以让 10 台机器运行 Memcached,每台机器为此分配最多 10GB 的内存。 10*10 = 100GB 内存空间。

当您将一个值写入 Memcached 时,只有一个(随机或通过某些算法)服务器存储它。当您尝试从 Memcached 读取值时,只有存储它的服务器才会将其发送给您。

确实是你可以 将所有数据库/内存缓存/应用程序/文件服务器放在同一台机器上,通常你会为你的开发沙箱做这件事。但你也可以 将每个放在单独的机器上以及两者的任何其他组合上。

如果您只需要一个 Memcached 服务器,您可能可以将它与应用程序代码托管在同一台机器上。

如果您开始使用前端缓存服务器(例如 varnish)或将 NginX 配置为前端缓存服务器,则必须配置一些 Memcached 服务器来存储这些前端缓存服务器正在缓存的数据。

如果您将数据库分布到多台服务器并将文件服务器分布到 CDN 中,这意味着您的应用程序在短时间内处理大量数据,因此您将需要大量 RAM 空间,而这些空间是单个服务器无法提供的应用服务器。

由于为 Memcached 服务器扩展内存池就像将新服务器的 IP 添加到列表中一样简单,因此您将像在许多服务器中一样进行水平扩展(这是 Memcached 的真正典型用途)。

关于memcached - 什么是 memcached 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10765897/

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