memcached是一个高性能、分布式的基于内存的对象缓存系统。
Is a cache,not a cache database。
分为server和client,各个cache server节点之间没有通信,减少了io。通过key的hash编码来存放和获取缓存数据。
缓存的java对象必须实现可序列化接口,因为存在这个对象的序列化和反序列化,因此对性能会造成一定的影响。
适用场景是读取操作远大于更新操作。
限制是如果其中一台cache节点down掉,缓存数据丢失同时会造成hashkey的重新编码,缓存的数据会转移。解决的办法是热备份,利用相同ip的备份cache。
几个应用点:
小对象的缓存(用户的Token、权限信息、资源信息);小的静态资源缓存;SQL结果的缓存(这部分如果用的好,性能提高会相当大,同时由于Memcached自身提供向上扩容,那么对于数据库向上扩容的老大难问题无疑是一剂好药);ESB消息缓存。
下面是网上的一个部署逻辑示意图:
memcached java client有spymemcached
,Java memcached client
。这些client也很容易与spring进行集成。可以参考缓存系统MemCached的Java客户端优化历程http://www.infoq.com/cn/articles/memcached-java
和AOP的实现方案 http://www.iteye.com/topic/28700
参考资料:
memcached 完全剖析 http://tech.idv2.com/2008/07/10/memcached-001/
分享到:
相关推荐
Memcached 分布式缓存学习 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。 ...
学习Memcached的过程中,实战案例和代码实例能帮助我们更好地理解和掌握。例如,通过模拟一个频繁访问数据库的场景,我们可以看到引入Memcached后,查询速度的显著提升。此外,学习如何处理分布式环境中的一致性问题...
学习memcached的使用和管理,对于Web开发者来说是一个重要的技能。它不仅能够帮助开发者理解如何通过缓存提高应用性能,还能教会他们如何在不同的应用场景下进行配置优化。对于想要深入理解memcached原理的读者,...
Memcached是一种高性能、分布式内存对象缓存系统,用于在动态应用中减少数据库负载,提高网站性能。它将数据存储在内存中,以便快速检索,...这不仅有助于学习Memcached的使用,还能深入理解进程监控和系统集成的技巧。
学习Memcached可能会遇到一些风险,比如可能会过分依赖缓存而忽视数据库本身的性能优化,或者对缓存失效机制的理解不足可能会导致数据一致性的问题。 ### 社区沟通和工具 Memcached社区通过邮件列表、在线交谈等...
在windonw下面学习memcached开发,需要使用的包 第一个:memcached服务,需要安装一个windows下的服务, memcached_en32or64.zip 安装方法,自己上网查找 第二个:需要开发memcached的开发需要的包,一共需要使用4...
描述提到"适合学习memcached和需要安装及测试的memcached学习使用者",这意味着提供的资源适用于初学者和有经验的用户,他们可能想要安装、配置memcached,并进行功能测试。 **memcached介绍** Memcached是一种高...
**标题与描述解析** ...memcached是一款高性能的分布式内存对象缓存系统,常用于减轻数据库负载,提高网站性能。...对于想要提升网站性能或学习memcached与PHP集成的开发者来说,这个资源包无疑是一份宝贵的参考资料。
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...
压缩包内的《memcached全面剖析.pdf》和《Memcached实例与文档》是深入学习Memcached的重要资料。书籍通常会详细介绍Memcached的设计理念、内部机制、最佳实践,以及如何与其他技术(如PHP、Python、Java等)集成。 ...
Memcached是一种高性能、分布式内存对象缓存系统,广泛应用于Web应用中...而提供的PDF文档和PPTX文件,将更深入地介绍Memcached的各个方面,包括基础概念、内存管理和集群搭建等,对于学习和掌握Memcached非常有帮助。
通过这个“memcached资料”压缩包,你可以深入学习Memcached的工作原理、配置方法、使用技巧以及优化策略,提升你的Web开发技能,使你的应用程序运行更加高效。无论是初学者还是经验丰富的开发者,都能从中受益。
Memcached 学习Memcached 运行Memcached命令的运行:/usr/local/memcached/bin/memcached -d -m 64M -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid注意:如果使用自动安装 memcached 命令位于 /usr/...
### Memcached中文学习文档知识点详解 #### 一、Memcached简介 Memcached是一种高性能的分布式内存对象缓存系统,用于加速动态Web应用程序通过减轻数据库负载。它通过在内存中缓存数据和对象来减少数据库访问的频率...
通过学习memcached的相关知识,开发者能够有效地利用内存缓存,提高系统的响应速度和整体性能,同时减少对底层数据库的压力。理解源码和使用相关工具能够帮助我们更好地定制和优化这一关键组件。
**memcached学习资料** Memcached是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库负载,提高网站响应速度。它通过在内存中存储数据来提供快速访问,使得频繁请求的数据无需每次都从...
### Memcached学习总结 #### 一、Memcached简介 ##### 1.1 什么是Memcached? Memcached是一款由Danga Interactive公司(LiveJournal的技术团队)所研发的分布式内存对象缓存系统,它最初是为了减轻数据库负载和...
【描述】"学习memcached,一包搞定" 暗示了这个压缩包内包含了学习和设置 memcached 的所有必要资源,使得初学者可以一步到位地了解和实践这个内存对象缓存系统。memcached 是一个高性能、分布式内存对象缓存系统,...
本篇学习笔记将重点介绍如何在Java环境中使用gwhalin提供的Memcached客户端进行开发。gwhalin的Memcached Java客户端是一个轻量级、高性能的库,使得Java开发者可以轻松地与Memcached服务器进行交互。 ### 一、...