导航:首页 > 数据处理 > 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怎么缓存数据相关的资料

热点内容
怎么代理多喜爱家纺产品 浏览:600
哪个公司pos机有代理功能 浏览:13
华为全球推广片传出的信息是什么 浏览:16
信息软件删除了怎么恢复苹果 浏览:740
保险代理压金怎么退 浏览:431
葆婴补钙产品怎么样 浏览:353
任丘二踢脚市场怎么样 浏览:366
房地产发布信息平台有哪些 浏览:649
固态储氢技术的原理是什么 浏览:786
小程序开发哪里有聚顶科技行 浏览:753
上海橱柜市场在哪里 浏览:290
暗黑2单机和战网哪个能装备交易 浏览:956
大数据更新后怎么样 浏览:592
怎么根据交易去查对应的日志 浏览:476
产品经理培训有哪些模型 浏览:546
海康北京总代理有哪些 浏览:115
哪个交易所有比特币模拟盘 浏览:290
企业财务代理记账费用多少 浏览:270
如何具备自己的交易系统 浏览:514
瓦特交易所怎么设置昵称 浏览:821