Memcached介绍

  Memcached是一个高性能的分布式对象缓存系统,主要用于动态Web应用,以减轻数据库负载。它经过在内存中缓存数据和对象来减小读取数据库的次数,从而提升动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。Memcached解决了共享内存只能单击应用的局限,更不会出现使用数据库作相似的事情时候致使磁盘开销和阻塞的发生。数据库

  1.为何须要Memcached缓存

    高并发访问数据库容易形成死锁安全

    基于客户端分布式,多客户端共享缓存服务器

    Net+Memory>>IOsession

    读写性能完美:1s能够读取1万次,写10万次并发

    超简单集群搭建Cluster分布式

    Open Source高并发

    学习成本低,入门容易性能

       丰富的成功案例学习

  不足的是既没有提供主从复制功能,也没有提供容灾等功能,全部的代码基本都只是考虑性能最佳。

  2.适用Memcached的业务场景

    (1).若是网站包含了访问量很大的动态网页,那么数据库的负载将会很高。因为大部分数据库请求都是读操做,所以Memcached能够显著地减少数据库负载。

    (2).若是数据库服务器的负载比较低但cpu使用率很高,就能够缓存计算好的结果(computed objects)和渲染后的网页模板(enderred templates)。

    (3).利用Memcached能够缓存session数据、临时数据,以减小对它们的数据库写操做。

    (4).缓存一些很小但被频繁访问的文件。

  3.不适用Memcached的业务场景

    (1).缓存对象的大小大于1MB。

    (2).key的长度大于250字符。

    (3).虚拟主机不让运行Memcached服务。

    (4).应用运行在不安全的环境中。Memcached未提供任何安全策略,仅仅经过Telnet就能够访问到。若是应用运行在共享的系统上,须要着重考虑安全问题。

    (5).业务自己须要的是持久化数据或者说是database。  

相关文章
相关标签/搜索