IT技术博客大学习 共学习 共进步

分布式缓存系统 Memcached 入门

这一客 2010-11-24 21:14:57 累计浏览 16,046 次

维基百科上对 Memcached 的介绍是一个分布式的缓存系统, 但是 Memcachd 到底是什么意思,有什么作用呢?缓存一般用来保存一些经常被存取的数据和资源(例如:浏览器会将访问过的网页会话缓存起来),因为通过缓存来存取数据要比从磁盘存取同样的数据要快得多。所以 Memcached 顾名思义,意味着 “内存缓存”,所有缓存的内容都在服务器的内存中。内存中的这些缓存数据可以通过 API 的方式被存取。数据是以 key/value 的配对方式存在的,就像一个很大的 Hash 表。

分布式是 Memcached 的主要特性,所以你可以在多台服务器上来安装 Memcached 来组建一个更大的缓存服务器。这样一来,Memcached 可以帮助我们使数据库的压力降到最低, 从而我们可以构建出更快的、更具扩展性的 WEB 应用。图一展示了 Memcache 如何与数据库端协同工作的情况。

图一:Memcache 如何和数据库协同工作


Memcache 如何工作?

图一展示的流程,相信有开发过数据库应用的同学都不会陌生。我们来一步步的说明图中发生了什么事情:

检查用户请求的数据是缓存中是否有存在,如果有存在的话,只需要直接把请求的数据返回,这时候跟数据库就完全扯不上关系了。
如果请求的数据在缓存中找不到,这时候再去查询数据库。返回请求数据的同时,把数据存储到缓存中一份。
保持缓存的“新鲜性”,每当数据发生变化的时候(比如,数据有被修改,或被删除的情况下),要同步的更新缓存信息,确保用户不会在缓存取到旧的数据。


翻译:avenge
原文链接:http://www.developer.com/features/article.php/52691_3901666_1/Getting-Started-with-Memcached-Distributed-Memory-Caching.htm

建议继续学习

  1. 浅析http协议、cookies和session机制、浏览器缓存 (累计阅读 17,207)
  2. 30分钟3300%性能提升――python+memcached网页优化小记 (累计阅读 13,583)
  3. Zookeeper工作原理 (累计阅读 11,944)
  4. 强制刷新本地 DNS 缓存记录 (累计阅读 10,642)
  5. GFS, HDFS, Blob File System架构对比 (累计阅读 10,345)
  6. Zookeeper研究和应用 (累计阅读 9,343)
  7. Cacti 添加 Memcached 监控 (累计阅读 9,163)
  8. 一致性哈希算法及其在分布式系统中的应用 (累计阅读 9,045)
  9. 分布式日志系统scribe使用手记 (累计阅读 8,844)
  10. 分布式哈希和一致性哈希 (累计阅读 8,667)