java怎么将数据放入缓存

java怎么将数据放入缓存,第1张

java放入session缓存

方法如下:

session.setAttribute("Name",Value)

Name 随便取,value就是要放的数据

获取的时候session.getAttribute("Name)

就可以了

package qinbo hui

/*

设计思想来自-回钦波(qq: )

*/

public class CacheConfModel implements java io Serializable{

private long beginTime

private boolean isForever = false

private int durableTime

public long getBeginTime() {

return beginTime

}

public void setBeginTime(long beginTime) {

this beginTime = beginTime

}

public boolean isForever() {

return isForever

}

public void setForever(boolean isForever) {

this isForever = isForever

}

public int getDurableTime() {

return durableTime

}

public void setDurableTime(int durableTime) {

this durableTime = durableTime

}

}

package qinbo hui

import java util *

import test CacheConfModel

/*

设计思想来自-回钦波(qq: )

*/

public class CacheMgr {

private static Map cacheMap = new HashMap()

private static Map cacheConfMap = new HashMap()

private CacheMgr(){

}

private static CacheMgr cm = null

public static CacheMgr getInstance(){

if(cm==null){

cm = new CacheMgr()

Thread t = new ClearCache()

t start()

}

return cm

}

/**

* 增加缓存

* @param key

* @param value

* @param ccm 缓存对象

* @return

*/

public  boolean addCache(Object key Object value CacheConfModel ccm){

boolean flag = false

cacheMap put(key value)

cacheConfMap put(key ccm)

System out println( now addcache== +cacheMap size())

return true

}

/**

* 删除缓存

* @param key

* @return

*/

public  boolean removeCache(Object key){

cacheMap remove(key)

cacheConfMap remove(key)

System out println( now removeCache== +cacheMap size())

return true

}

/**

* 清除缓存的类

* @author wanglj

* 继承Thread线程类

*/

private static class ClearCache extends Thread{

public void run(){

while(true){

Set tempSet = new HashSet()

Set set = cacheConfMap keySet()

Iterator it = erator()

while(it hasNext()){

Object key = it next()

CacheConfModel ccm = (CacheConfModel)cacheConfMap get(key)

//比较是否需要清除

if(!ccm isForever()){

if((new Date() getTime() ccm getBeginTime())>= ccm getDurableTime()* * ){

//可以清除 先记录下来

tempSet add(key)

}

}

}

//真正清除

Iterator tempIt = erator()

while(tempIt hasNext()){

Object key = tempIt next()

cacheMap remove(key)

cacheConfMap remove(key)

}

System out println( now thread================>+cacheMap size())

//休息

try {

Thread sleep( * L)

} catch (InterruptedException e) {

// TODO Auto generated catch block

e printStackTrace()

}

}

}

}

lishixinzhi/Article/program/Java/hx/201311/25737

JBossCache包括两个模块:TreeCache和TreeCacheAOP。 TreeCache --是一个树形结构复制的事务处理缓存。 TreeCacheAOP --是一个“面向对象”缓存,它使用AOP来动态管理POJO

下面是一个基本的使用例子:

首先是初始化TreeCache

TreeCache tree = new TreeCache()

然后是读进配置文件

PropertyConfigurator config = new PropertyConfigurator()config.configure("配置文件.xml")

然后开始服务

Tree.startService()

因为Tree的结构是用NODE来Access的,TreeCache这里就很简单的用:

/level1/level2/node1 来表示两级Tree下面的Node1。

现在我们添加几个要Cache的对象。

Tree.put("/level1/level2/node1", "key1", "value1")String[] array = { "1", "2", "3", "4" } Tree.put("/level3/array/", "myarray", array)

大家可以看到,TreeCache里面可以存储任何种类的对象,包括所有复杂对象。

读取对象就很方便了,

String s = (String)Tree.get("/level1/level2/node1/", "key1")

value1就读出来了。

同理:

String[] sarr = (String[]) Tree.get("/level3/array/","myarray")

System.out.println(sarr[1]) 会显示2

最后停止服务:

Tree.stopService()


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7913650.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存