memcached是1个高性能的散布式内存对象缓存系统,用于动态web利用以减轻数据库负载。它通过内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库网站的速度。memcached基于1个存储键/值对的hashmap。
在使用进程中,发现memcached和Hibernate的查询缓存作用相当,都是把查询频繁的数据并且更新不频繁的数据放到内存中,然后每次读取的时候,从内存中读取,这样就增加了访问效力。类似于cpu的高速缓存。
也就是说你不用去离家远的大超市去买东西,你家楼下会备份1份,1旦没有了再去大超市。
http://memcached.org/
首次访问会从RDBMS中获得数据并保存在memcached,第2次访问的时候会从memcached中获得数据显示在页面中。
国外:Tokyo Cabinet:http://tokyocabinet.sourceforge.net/index.html(日本mixi.jsp公司开发)
国内:MemcacheDB:http://memcachedb.org(新浪开源Team开发)
1、memcached基于C/S架构,协议简单
2、基于libevent时间处理。
libevent1套跨平台事件处理接口封装,能够兼容包括这些操作系统:windows、linux、BSD、Solaris等操作系统的事件处理。memcached使用libevent来进行网络并发连接处理,能够保持在很大并发情况下,仍旧能够保持快速的响应能力。
3、自出内存存储处理。
4、基于客户真个memcached散布式。客户端程序库,通过散布式算法找到对应的服务器。(具体见此博客)
下1篇memcached 安装和实践demo