各种缓存技术及使用场景
来源:互联网 发布:智慧镇江网络错误 编辑:程序博客网 时间:2024/05/18 02:16
可做缓存的技术,Ehcache, Linkedhashmap, Memcached, Redis,视需求而定
LinkedHashMap 和Ehcache都是单机缓存技术,即只能在一个应用内实现缓存,不能实现多台机器使用相同的缓存区域(分布式缓存)
LinkedHashMap
的底层是用HashMap实现的,特点元素的排序是按链表方式排序,按写入或输出的顺序排序,最后一次写入或读取的元素放到最后
Map<String, String> map = new LinkedHashMap<String, String>(16, 0.75f, true); for (int i = 0; i < 10; i++) { map.put("key" + i, "value" + i); } map.get("key" + 3); map.get("key" + 3); map.get("key" + 9); map.put("key" + 11, "value" + 11); for (String value : map.keySet()) { System.out.println(value); }输出:
key0key1key2key4key5key6key7key8key3key9key11Ehcache
LinkedHashMap 只是一个JDK自带的类,而Ehcache是一个外部jar包,是java领域常用的缓存框架,鼎鼎大名的hibernate都是用Ehcache,但ehcache也可用使用某些技术支持在群集环境中使用,例如:
http://www.ibm.com/developerworks/cn/java/j-lo-ehcache/
http://www.cnblogs.com/yangy608/archive/2011/10/07/2200669.html
Memcached
Memcached是分布式缓存技术,需要独立部署,使多台机器可以使用同一个缓存服务器,实现集群的缓存共享。
Redis
Redis同样是分布式缓存技术,比Memcached更新,支持的数据类型更多,使用更方便,最重要的是:Memcached的数据只能存在内存中,重启后即消失,而Redis可以持久化,因此Redis可以作为一个NoSql数据库使用。如果没有历史遗留系统,初次引入缓存框架,建议用redis
两者比较的文章:
http://blog.csdn.net/tonysz126/article/details/8280696
http://blog.sina.com.cn/s/blog_72995dcc01018qkf.html
http://zhu-zhiguo.iteye.com/blog/2145253
http://stackoverflow.com/questions/2873249/is-memcached-a-dinosaur-in-comparison-to-redis
- 各种缓存技术及使用场景
- ASP.NET中各种缓存技术的特点及使用场景
- shell中各种括号()、(())、[]、[[]]、{}的作用及使用场景
- 各种LaunchMode的使用场景
- 缓存使用场景的理解
- 各种缓存使用大全
- Spring aop 原理及各种应用场景
- 各种分布式文件系统简介及适用场景
- Spring aop 原理及各种应用场景
- Spring aop 原理及各种应用场景
- Spring aop 原理及各种应用场景
- Spring aop 原理及各种应用场景
- Redis中各种数据类型对应的jedis操作命令及使用场景
- 使用缓存技术提高效率
- 转- redis 各种数据类型的使用场景
- 各级缓存的使用场景以及限制
- Redis缓存的具体使用场景
- 视频云直播:场景、技术及优化
- winform窗体的最大化最小化按钮不显示
- VC 调试模式下多线程的问题
- UILabel的应用
- FIT和FitNesse使用方法
- c# Linq操作DataTable
- 各种缓存技术及使用场景
- ActionBar与ActionMode初体验
- cocos2d-iphone之魔塔20层
- pat 1033 To Fill or Not to Fill(值得重点回顾)
- HTML5 – 一个拖拽功能的例子
- 2_20130306_UI需要修改的地方
- C/C++开源库——TinyXml
- iOS-raywenderlich翻译-使用MapKit叠加图层
- Android实用代码七段