缓存技术总结

3.

4. 可以轻松运行在最新版的Ehcache上。 针对其缓存接口/程序库以及可伸缩性/可靠性/运行时的一个供应商支持

结构。

相对于Coherence来说,Terracotta与Ehcache的联合具有如下优势:

1. 使用率。如果你已经将应用构建在了Ehcache上,那么现在就可以轻松升

级成分布式的了。

2. 多种手段来使用缓存。既可以使用传统的Terracotta POJO缓存,也可以

使用基于API的方式。

3. 开源。Greg Luck说到"Coherence是闭源的”。对于开发者来说,如果想

使用Coherence就必须请示高层(比如说CTO);而Ehcache和Terracotta开发则可以从基层做起。这样对于那些想使用Coherence的开发者来说就可以先从Ehcache开始(一个结点),然后轻松移植到分布式的Terracotta上。

现在又涌现出了很多新的竞争者,比如Apache Dynamite以及Memcached等。 Ehcache项目的协议仍然是Apache 2,还可以通过sourceforge,Maven等来访问。

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

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

1 Memcache是什么

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

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

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

2 Memcache工作原理

首先 memcached 是以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,客户端可以由各种语言编写,目前已知的客户端 API 包括 Perl/PHP/Python/Ruby/Java/C#/C 等等。客户端在与 memcached 服务建立连接之后,接下来的事情就是存取对象了,每个被存取的对象都有一个唯一的标识符 key,存取操作均通过这个 key 进行,保存到 memcached 中的对象实际上是放置内存中的,并不是保存在 cache 文件中的,这也是为什么 memcached 能够如此高效快速的原因。注意,这些对象并不是持久的,服务停止之后,里边的数据就会丢失。

你可能喜欢

  • 分布式缓存
  • 分布式云计算
  • hibernate缓存
  • 高速缓存技术
  • 云计算资料
  • java缓存
  • 施工技术总结

缓存技术总结相关文档

最新文档

返回顶部