个性化阅读
专注于IT技术分析

Memcached教程介绍

本文概述

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在2003年为LiveJournal开发的。它是用Perl编写的, 但由Anatoly Vorobey用C重写。

Memcached的组件

Memcached由4个主要组件组成。这些组件允许客户端和服务器一起工作, 以便尽可能高效地传递缓存的数据:

  1. 客户端软件:用于提供可用的Memcached服务器列表。
  2. 基于客户端的哈希算法:它根据密钥选择服务器。
  3. 服务器软件:用于将值及其键存储到内部哈希表中。
  4. LRU:LRU代表”最近最少使用”。这决定了何时丢弃旧数据或重新使用内存。

Memcached的功能

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

Memcached的缺点

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

Memcached如何工作?

如上所述, Memcached具有四个主要组件, 这些组件使它可以存储和检索数据。每个项目都包含一个密钥, 有效期和原始数据。在较高级别, Memcached的工作原理如下:

  • 客户端请求一条数据, 然后Memcached检查以查看是否将其存储在缓存中。
  • 可能有两种可能的结果:
    • 如果数据存储在缓存中:从Memcached返回数据(无需检查数据库)。
    • 数据未存储在缓存中:查询数据库, 检索数据, 然后将其存储在Memcached中。
  • 每当修改信息或某项的过期值过期时, Memcached都会更新其缓存以确保将新内容传递到客户端。

此设置具有各种Memcached服务器和许多客户端。客户端使用急速算法来确定要使用的已存储的存储服务器。这有助于分配负载。

然后, 服务器计算密钥的第二个哈希值, 以确定在内部哈希表中应将相应值存储在何处。关于Memcached架构的一些重要事项是:

  • 数据仅发送到一台服务器
  • 服务器不共享数据
  • 服务器将这些值保存在RAM中-如果RAM用完了, 则最早的值将被丢弃。

Memcached教程索引


Memcached教程

  • Memcached教程
  • Memcached简介
  • 安装过程
  • Memcached示例

存储命令

  • 内存缓存集数据
  • Memcached添加数据
  • Memcached前​​置数据
  • 记忆快取CAS

检索命令

  • Memcached获取数据
  • Memcached获取CAS数据
  • Memcached删除密钥

统计命令

  • 记忆快取统计资料
  • Memcached统计项目
  • Memcached Stats Slabs
  • Memcached统计资料大小
  • Memcached清除数据

Memcached面试问题

  • Memcached I / Q

先决条件

在学习Memcached之前, 你应该具有数据结构和缓存工作的基本知识。

听众

我们的Memcached教程专为初学者和专业人士设计。

问题

我们向你保证, 在此Memcached教程中不会发现任何问题。但是, 如果有任何错误, 请在联系表格中发布问题。


赞(0)
未经允许不得转载:srcmini » Memcached教程介绍

评论 抢沙发

评论前必须登录!