问个JAVA设计多线程cache问题# Java - 爪哇娇娃x*o2013-07-05 07:071 楼有一个类,传入KEY,处理从数据库返回一组对应KEY的数据,然后返回这组数据现在多线程访问,用哪个数据结构来存储这组(KEY,OBJECT)数据,THREAD SAFE同时保证这个数据结构里存储的是LRU,SIZE不会超标
g*g2013-07-05 07:072 楼Don't reinvent the wheel, use ehCache.【在 x****o 的大作中提到】: 有一个类,传入KEY,处理从数据库返回一组对应KEY的数据,然后返回这组数据: 现在多线程访问,用哪个数据结构来存储这组(KEY,OBJECT)数据,THREAD SAFE同时保证: 这个数据结构里存储的是LRU,SIZE不会超标
o*22013-07-05 07:074 楼If you have the class that works fine in a single-threaded environment, allyou need for it continuing to work in a multi-threaded environment is to adda ReadWriteLock.【在 x****o 的大作中提到】: 有一个类,传入KEY,处理从数据库返回一组对应KEY的数据,然后返回这组数据: 现在多线程访问,用哪个数据结构来存储这组(KEY,OBJECT)数据,THREAD SAFE同时保证: 这个数据结构里存储的是LRU,SIZE不会超标
e*t2013-07-05 07:075 楼try to use google guava concurrent maphttp://docs.guava-libraries.googlecode.com/git-history/v10.0.1/oogle/common/collect/MapMaker.html【在 x****o 的大作中提到】: 有一个类,传入KEY,处理从数据库返回一组对应KEY的数据,然后返回这组数据: 现在多线程访问,用哪个数据结构来存储这组(KEY,OBJECT)数据,THREAD SAFE同时保证: 这个数据结构里存储的是LRU,SIZE不会超标
N*72013-07-05 07:076 楼guava都已经什么版本了,还用老的MapMaker呀,guava已经支持Cache了。【在 e*****t 的大作中提到】: try to use google guava concurrent map: http://docs.guava-libraries.googlecode.com/git-history/v10.0.1/: oogle/common/collect/MapMaker.html
e*t2013-07-05 07:078 楼thx, good to know that, haven't been up-to-date with guava new features.【在 N******7 的大作中提到】: guava都已经什么版本了,还用老的MapMaker呀,guava已经支持Cache了。
c*e2013-07-05 07:079 楼ConcurrentHashMap【在 x****o 的大作中提到】: 有一个类,传入KEY,处理从数据库返回一组对应KEY的数据,然后返回这组数据: 现在多线程访问,用哪个数据结构来存储这组(KEY,OBJECT)数据,THREAD SAFE同时保证: 这个数据结构里存储的是LRU,SIZE不会超标