x****o 发帖数: 29677 | 1 有一个类,传入KEY,处理从数据库返回一组对应KEY的数据,然后返回这组数据
现在多线程访问,用哪个数据结构来存储这组(KEY,OBJECT)数据,THREAD SAFE同时保证
这个数据结构里存储的是LRU,SIZE不会超标 | g*****g 发帖数: 34805 | 2 Don't reinvent the wheel, use ehCache.
【在 x****o 的大作中提到】 : 有一个类,传入KEY,处理从数据库返回一组对应KEY的数据,然后返回这组数据 : 现在多线程访问,用哪个数据结构来存储这组(KEY,OBJECT)数据,THREAD SAFE同时保证 : 这个数据结构里存储的是LRU,SIZE不会超标
| N*****m 发帖数: 42603 | 3 大于32GB要钱啊
【在 g*****g 的大作中提到】 : Don't reinvent the wheel, use ehCache.
| o**2 发帖数: 168 | 4 If you have the class that works fine in a single-threaded environment, all
you need for it continuing to work in a multi-threaded environment is to add
a ReadWriteLock.
【在 x****o 的大作中提到】 : 有一个类,传入KEY,处理从数据库返回一组对应KEY的数据,然后返回这组数据 : 现在多线程访问,用哪个数据结构来存储这组(KEY,OBJECT)数据,THREAD SAFE同时保证 : 这个数据结构里存储的是LRU,SIZE不会超标
| e*****t 发帖数: 1005 | 5 try to use google guava concurrent map
http://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******7 发帖数: 1297 | 6 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
| t*******e 发帖数: 684 | | e*****t 发帖数: 1005 | 8 thx, good to know that, haven't been up-to-date with guava new features.
【在 N******7 的大作中提到】 : guava都已经什么版本了,还用老的MapMaker呀,guava已经支持Cache了。
| c*********e 发帖数: 16335 | 9 ConcurrentHashMap
【在 x****o 的大作中提到】 : 有一个类,传入KEY,处理从数据库返回一组对应KEY的数据,然后返回这组数据 : 现在多线程访问,用哪个数据结构来存储这组(KEY,OBJECT)数据,THREAD SAFE同时保证 : 这个数据结构里存储的是LRU,SIZE不会超标
|
|