首页 > 代码库 > Memcached简介

Memcached简介

Memcached简介

Memcached:是一个免费的、开源的、高性能的、分步式的内存对象缓存系统。通常情况下,用于加快Web应用的访问数据库的速度。

Memcached存储的是把数据(从数据库查询出来的数据、页面要渲染的数据等)以key-value对的形式存放的。

Memcached设计很简单,但是功能可不简单,它可以快速的部署,解决了许多大量数据缓存的问题,它的API可以用于多种语言。

 

Memcached的组成

 

1、Client:我们可以在程序中给客户端指定多个Memcached Server 。

Client是基于Hash算法,Client用于从多个Memcached Server中选择一个包含了指定key的Server。

2、Server:用于存储指定key-value。存储在一个HashTable中。在Server端会使用一定的算法来决定哪些对象不会使用,并移除。

 

 

Memcached的设计原理

 

1)Server端使用key-value对存储。

2)分为Client和Server:

Client知道如何发送数据到相关Server,也知道不能连接到Server时如何处理,更知道如何从Server端取数。

Server端知道如何接收Client发来的数据,也知道如何把Client需要的数据给Client端。

3)多个Server之间是相互独立的,之间不存在连接、不存在数据同步、不存在数据传播。

4)每个Client请求时间都大致一样,不会出现某个请求很慢的情况。

5)在Server端使用LRU(Least Recently Used,最近最少使用)缓存。也就是说,默认会设置key-value对有一个有效时间。这种特性不会使Memcached出现暂停等待垃圾回收情况。

 

本节学习链接:https://code.google.com/p/memcached/wiki/NewOverview