Memcache是什么

1、Memcache是什么?

Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界很多使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。
由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自治理这些HashTable。因此它可以应对任意多个连接,使用非阻塞的网络IO。

2、为什么会有Memcache和memcached两种名称?

Memcache是这个项目的名称,而memcached是它服务器整个主程序文件的名称。

3、Memcached 一般用途

(1)起因:
目前很多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS 的负担加重、数据库响应恶化、网站显示延迟等重大影响。
(2)解决:
由于memcached 是高性能的分布式内存缓存服务器,所以一般使用目的为:通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web 应用的速度、提高可扩展性。
如下图:

4、Memcached主要特点

  • 免费开源
  • 以BSD license授权发布
  • 分布式内存对象的缓存系统(键/值字典)
  • memcached服务器是一个很大的哈希表
  • 减轻数据库负载加快动态Web应用程序
  • 非常适合高负载的数据库网站。
  • 通过TCP或UDP在服务器和客户端之间来访问

5、不要使用memcached来做什么?

  • 持久性数据存储
  • 数据库
  • 特殊应用
  • 大对象缓存
  • 容错或高可用性