程序员人生 网站导航

(一)memcached 简介

栏目:php教程时间:2014-12-13 09:15:23

甚么是memcached?

    memcached是1个高性能的散布式内存对象缓存系统,用于动态web利用以减轻数据库负载。它通过内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库网站的速度。memcached基于1个存储键/值对的hashmap。

    在使用进程中,发现memcached和Hibernate的查询缓存作用相当,都是把查询频繁的数据并且更新不频繁的数据放到内存中,然后每次读取的时候,从内存中读取,这样就增加了访问效力。类似于cpu的高速缓存。

    也就是说你不用去离家远的大超市去买东西,你家楼下会备份1份,1旦没有了再去大超市。

本质上是cache?

    学太高速缓存,是1种存储速度比随机存储器更快的RAM,调和cpu和内存处理数据的速度。还有几种常见的cache,阅读器缓存,我们阅读器中有缓存,例如,把1些信息寄存在cookie中;服务器缓存,例如,把1些信息可以寄存在session中;CDN,不同的CDN算法,机制不同,可以把资源分发到各个节点上,用户在访问静态资源时会路由选择与之最近的资源;数据库缓存,Hibernate的查询缓存;OS cache,内存中存在对硬盘读写的缓冲区域。

memcached官方网站

    http://memcached.org/


memcached运行原理图




    首次访问会从RDBMS中获得数据并保存在memcached,第2次访问的时候会从memcached中获得数据显示在页面中。

与memcached类似的还有甚么?

    国外:Tokyo Cabinet:http://tokyocabinet.sourceforge.net/index.html(日本mixi.jsp公司开发)

    国内:MemcacheDB:http://memcachedb.org(新浪开源Team开发)

memcached 的主要特点

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

    2、基于libevent时间处理。

    libevent1套跨平台事件处理接口封装,能够兼容包括这些操作系统:windows、linux、BSD、Solaris等操作系统的事件处理。memcached使用libevent来进行网络并发连接处理,能够保持在很大并发情况下,仍旧能够保持快速的响应能力。

    3、自出内存存储处理。

    4、基于客户真个memcached散布式。客户端程序库,通过散布式算法找到对应的服务器。(具体见此博客)



下1篇memcached 安装和实践demo





------分隔线----------------------------
------分隔线----------------------------

最新技术推荐