Memcached 教程学习手册

收录于 2023-04-20 00:10:05 · English · بالعربية · Español · हिंदीName · 日本語 · Русский язык · 中文繁體

Memcached教程
Memcached教程提供了Memcached的基本和高级概念。我们的Memcached教程是为初学者和专业人士设计的。
Memcached是一个免费的开源高性能,分布式内存对象缓存系统。 Memcached用于通过减少数据库负载来加速动态Web应用程序。 Memcached被所有拥有大量数据的主要网站使用,例如YouTube,Wikipedia,Twitter等。
在这里,您将了解什么是Memcached,Memcached的历史,Memcached的组件,Memcached的功能,缺点,Memcached如何工作,Memcached的安装过程,Memcached存储命令,如何在Memcached中设置,获取,替换,删除数据等。

什么是Memcached?

Memcached的发音为mem-cash-dee或mem-cached。它是一个免费的,开源的,高性能的分布式内存对象缓存系统。 Memcached用于通过减少数据库负载来加速动态Web应用程序。 Memcached用于拥有大量数据的所有主要网站,例如YouTube,Wikipedia,Twitter等。
Memcached用于内存缓存软件,因为它很容易安装在任何Windows或Unix系统上。它为所有主要语言(如PHP,Java,C/C ++,Python,Ruby,Perl等)提供API集成。
它基于键值存储任意小字符串或对象的数据,其中包括:
数据库调用的结果 API调用 页面渲染

Memcached的历史记录

Memcached最初是由Danga Interactive的 Brad Fitzpatrick为 LiveJournal开发的。它的写成是 Perl ,但由 Anatoly Vorobey 用C 重写。

Memcached的组件

Memcached由4个主要组件组成。这些组件允许客户端和服务器一起工作,以便尽可能高效地传递缓存的数据:
客户端软件: 用于提供可用的Memcached服务器列表。 基于客户端的哈希算法: ,它基于密钥选择服务器。 服务器软件: ,用于将值及其键存储到内部哈希表中。 LRU: LRU代表"最近最少使用"。这决定了何时丢弃旧数据或重新使用内存。

Memcached的功能

它是开源的。 它具有很好的可扩展性;只需添加带有内存的盒子即可。 Memcached作为独立服务运行。因此,如果您关闭应用程序,则只要服务运行,缓存的数据就会保留在内存中。 Memcached服务器是一个很大的哈希表。 它减少了数据库负载。 这对于数据库负载高的网站非常有效。 缓存节点非常无知: 这意味着它们不了解其他参与节点。这使这种系统的管理和配置非常容易。 它是根据BSD(伯克利软件发行)许可证发行的。 这是基于UDP或TCP的客户端服务器应用程序。

Memcached的缺点

这不是容错工具。 与内存中的缓存相比,它非常慢,主要是因为序列化或反序列化以及网络延迟。 缓存节点非常无知: 例如,无法迭代所有缓存项。 它不是持久性数据存储。

Memcached如何工作?

如上所述,Memcached具有四个主要组件,这些组件允许它存储和检索数据。每个项目都包含一个密钥,有效期和原始数据。在较高层次上,Memcached的工作方式如下:
客户端请求一条数据,然后Memcached检查是否将其存储在缓存中。 可能有两种可能的结果: 如果数据存储在缓存中: 从Memcached返回数据(无需检查数据库)。 数据未存储在缓存中: 查询数据库,检索数据,然后将其存储在Memcached中。 无论何时修改信息或某项的到期值过期,Memcached都会更新其缓存以确保将新鲜内容传递给客户端。
此设置具有各种Memcached服务器和许多客户端。客户端使用急速算法来确定要使用的已存储的存储服务器。这有助于分配负载。
然后服务器计算密钥的第二个哈希值,以确定它应该在内部哈希表中存储相应值的位置。关于Memcached架构的一些重要事项是:
数据仅发送到一台服务器 服务器不共享数据 服务器将这些值保留在RAM中-如果RAM用完,则最早的值将被丢弃。

Memcached教程索引

Memcached Tutorial Index