分布式缓存服务器Memcached介绍

什么是Memcached

Memcached是国外社区网站LiveJournal的开发团队开发的高性能分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度,提高可扩展性。
Memcached 运行图


分布式缓存服务器Memcached介绍

谁在用Memcached

国外:Yahoo, facebook, twitter, wiki等

国内:新浪网,豆瓣网,开心网,搜狐,赶集网等

Memcached 特点

基于C/S架构,协议简单

基于libevent的事件处理机制

自主内存存储处理

基于客户端的Memcached分布式

自主内存存储方式
数据存储方式:Slab Allocation

数据过期方式:Lazy Expiration + LRU

Slab Allocation

分布式缓存服务器Memcached介绍

分布式缓存服务器Memcached介绍

Lazy Expiration
Memcached内部不会监视记录是否过期,而是在get时查看记录的时间戳,检查记录是否过期。这种技术成为lazy expiration。Memcached不会在过期监视上浪费CPU时间。
LRU
Memcached会优先使用已超时的记录空间,但即使如此,也会发生追加新纪录时空间不足的情况。这时需要使用Least Recently Used(LRU)机制,删除最近最少使用的记录方式来分配空间。
基于客户端的Memcached分布式
分布式缓存服务器Memcached介绍

Memcached与PHP结合使用

image.png

推荐阅读更多精彩内容