Redian新闻
>
问个JAVA设计多线程cache问题
avatar
问个JAVA设计多线程cache问题# Java - 爪哇娇娃
x*o
1
有一个类,传入KEY,处理从数据库返回一组对应KEY的数据,然后返回这组数据
现在多线程访问,用哪个数据结构来存储这组(KEY,OBJECT)数据,THREAD SAFE同时保证
这个数据结构里存储的是LRU,SIZE不会超标
avatar
g*g
2
Don't reinvent the wheel, use ehCache.

【在 x****o 的大作中提到】
: 有一个类,传入KEY,处理从数据库返回一组对应KEY的数据,然后返回这组数据
: 现在多线程访问,用哪个数据结构来存储这组(KEY,OBJECT)数据,THREAD SAFE同时保证
: 这个数据结构里存储的是LRU,SIZE不会超标

avatar
N*m
3
大于32GB要钱啊

【在 g*****g 的大作中提到】
: Don't reinvent the wheel, use ehCache.
avatar
o*2
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不会超标

avatar
e*t
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不会超标

avatar
t*e
7
Try Spring Cache+Redis.
avatar
e*t
8
thx, good to know that, haven't been up-to-date with guava new features.

【在 N******7 的大作中提到】
: guava都已经什么版本了,还用老的MapMaker呀,guava已经支持Cache了。
avatar
c*e
9
ConcurrentHashMap

【在 x****o 的大作中提到】
: 有一个类,传入KEY,处理从数据库返回一组对应KEY的数据,然后返回这组数据
: 现在多线程访问,用哪个数据结构来存储这组(KEY,OBJECT)数据,THREAD SAFE同时保证
: 这个数据结构里存储的是LRU,SIZE不会超标

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。