导航:首页 > 数据处理 > java怎么缓存数据

java怎么缓存数据

发布时间:2023-07-26 20:02:01

Ⅰ java怎样将数据保存到缓存中,之后再保存

Java中可以使用队列来保存数据,当使用的时候,加上锁,防止其他进程访问,当不用的时候保存到数据库里面,示例如下:

packagecom.henry;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.Random;
importjava.util.concurrent.locks.ReadWriteLock;
importjava.util.concurrent.locks.ReentrantReadWriteLock;

publicclassCacheDataTest{
staticMap<Integer,Object>dataMap=newHashMap<Integer,Object>();
staticReadWriteLocklock=newReentrantReadWriteLock();//创建读写锁的实例
staticObjectgetData(Integerkey){
lock.readLock().lock();//读取前先上锁
Objectval=null;
try{
val=dataMap.get(key);
if(val==null){
//
lock.readLock().unlock();
lock.writeLock().lock();
try{
//可能已经由其他线程写入数据
if(val==null){
//dataMap.put(key,"");//queryfromdb
val=queryDataFromDB(key);
}
}finally{
//
lock.readLock().lock();
//Unlockwrite,stillholdread
lock.writeLock().unlock();
}
}
}finally{
lock.readLock().unlock();//最后一定不要忘记释放锁
}
System.out.println("getdatakey="+key+">val="+val);
returnval;
}

staticObjectqueryDataFromDB(Integerkey){
Objectval=newRandom().nextInt(1000);
dataMap.put(key,val);
System.out.println("writeintodatakey="+key+">val="+val);
returnval;
}

publicstaticvoidmain(String[]args){
for(inti=0;i<10;i++){
newThread(newRunnable(){publicvoidrun(){
getData(newRandom().nextInt(5));
}}).start();
}
}
}
阅读全文

与java怎么缓存数据相关的资料

热点内容
大数据把多少小企业搞死 浏览:100
apachedruid是什么数据库 浏览:588
手机程序包换了怎么办 浏览:648
如何清除王者荣耀微信数据 浏览:503
网络扶贫产品有哪些 浏览:383
上技术学院需要准备什么 浏览:587
数据类型哪些是字符型 浏览:33
售卖伪造3c的产品怎么判 浏览:11
哪个手机上的小程序能看电视剧 浏览:249
技术领先者是什么 浏览:477
除了打电话报案发信息怎么报案 浏览:447
卡拉宝的目标市场有哪些 浏览:335
基金撤销交易后资金什么时候到账 浏览:19
如何建立小程序官网 浏览:392
剔除数据为什么要剔除金融行业 浏览:698
安全技术防范备案怎么做 浏览:206
lead用什么代理软件 浏览:598
新式家居产品有哪些 浏览:870
交易日送股一般多少个 浏览:96
小程序新零售是什么意思 浏览:279