1 Memcached 简介

1.1 前言

  • Memcached 是一个自由开源、高性能、分布式内存对象缓存系统
  • 基于内存的 key-value 存储,用于存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API 调用或页面渲染的结果
  • 设计简洁:便于快速开发,减轻开发难度,解决了大数据量缓存的问题。API 兼容大部分流行的开发语言
  • 本质上是一个简洁的 key-value 存储系统
  • 一般的使用目的:通过缓存数据库查询结果,减少数据库访问次数,以提高动态 web 应用的速度,提高可扩展性

1.2 特点

  • 协议简单
  • 基于 libevent 的事件处理
    • libevent 是一个基于事件触发的网络库
    • libevent API 提供一种机制:当一个文件描述符的特定时间发生(可读、可写、出错),或一个定时时间发生,libevent 自动执行用户指定的回调函数,来处理事件
    • libevent 也支持信号或常规超时的回调
    • libevent 用于取代网络服务器中的事件循环检查框架
  • 内置内存存储方式
  • 分布式不互相通信

1.3 支持的语言

  • 许多语言实现了连接 Memcached 的客户端,以 Perl、PHP 为主
  • 其他语言包括:Python/Ruby/C#/C/C++/Lua

1.4 Memcached 用户

LiveJournal/Wikipedia/Flickr/Bebo/Twitter/Typepad/Yellowbot/Youtube/WordPress.com/Craigslist/Mixi

相关