java 缓存jcs

news/2024/11/30 18:40:51/

java 缓存jcs:

有时候我们需要频繁的访问数据库获得某些数据,这样大大的增加了访问数据库方面的开销,降低了系统的性能。

一 解决办法:

将数据放进缓存中。

二 适用条件:

1 需要经常使用

2 数据不经常更新

三 需要导入jar包:

jcs-1.3.jar

四 流程向导:


五 代码演示:

package jcsCache;import java.io.Serializable;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;import org.apache.jcs.JCS;
import org.apache.jcs.access.exception.CacheException;
import org.apache.jcs.admin.CacheElementInfo;
import org.apache.jcs.admin.CacheRegionInfo;
import org.apache.jcs.admin.JCSAdminBean;
import org.apache.jcs.engine.control.CompositeCache;/**** cache jcs 练习* <功能详细描述>** @version  [版本号, 2014-2-7]* @see  [相关类/方法]* @since  [产品/模块版本]*/
public class CacheUtil implements Serializable
{private static final long serialVersionUID = 1L;/*** 获取cache* <功能详细描述>* @param cacheName* @return JCS* @see [类、类#方法、类#成员]*/public static JCS getCache(String cacheName){JCS cache = null;try{cache = JCS.getInstance(cacheName);}catch (CacheException e){e.printStackTrace();}return cache;}/*** 获取cache 中key对应的value* <功能详细描述>* @param cacheName* @param key* @return Object* @see [类、类#方法、类#成员]*/public static Object getObject(String cacheName, Object key){Object obj = null;JCS cache = getCache(cacheName);if (null != cache){obj = cache.get(key);}if (null == obj){//obj = DatabaseManager.getByKey(key);obj = "from data base";}return obj;}/***  将对象放进缓存* <功能详细描述>* @param cacheName* @param key* @param value* @return boolean* @see [类、类#方法、类#成员]*/public static boolean putObject(String cacheName, Object key, Object value){JCS cache = getCache(cacheName);boolean result = false;if (null != cache){try{cache.put(key, value);result = true;}catch (CacheException e){e.printStackTrace();}}return result;}/*** 清除所有缓存* <功能详细描述>* @param cacheName* @return* @see [类、类#方法、类#成员]*/public static boolean cleanAll(String cacheName){JCS cache = getCache(cacheName);boolean result = false;if (null != cache){try{cache.clear();result = true;}catch (CacheException e){e.printStackTrace();}}return result;}/*** 根据key清除对应的缓存* <功能详细描述>* @param cacheName* @param key* @return* @see [类、类#方法、类#成员]*/public static boolean cleanByKey(String cacheName, Object key){JCS cache = getCache(cacheName);boolean result = false;if (null != cache){try{cache.remove(key);result = true;}catch (CacheException e){e.printStackTrace();}}return result;}/*** 获取某个缓存的元数据* <功能详细描述>* @param cacheName* @return CacheElementInfo* @see [类、类#方法、类#成员]*/public static CacheElementInfo getMetadataByCacheName(String cacheName){JCSAdminBean admin = new JCSAdminBean();CacheElementInfo info = null;LinkedList<?> linkedList = null;try{linkedList = admin.buildElementInfo(cacheName);ListIterator<?> iterator = linkedList.listIterator();while (iterator.hasNext()){info = (CacheElementInfo)iterator.next();}}catch (Exception e){e.printStackTrace();}return info;}/*** 获取缓存元数据* <功能详细描述>* @return* @see [类、类#方法、类#成员]*/public static List<CompositeCache> getMetadata(){JCSAdminBean admin = new JCSAdminBean();LinkedList<?> linkedList = null;CacheRegionInfo info = null;CompositeCache compCache = null;List<CompositeCache> list = new ArrayList<CompositeCache>();try{linkedList = admin.buildCacheInfo();ListIterator<?> iterator = linkedList.listIterator();while (iterator.hasNext()){info = (CacheRegionInfo)iterator.next();compCache = info.getCache();list.add(compCache);}}catch (Exception e){e.printStackTrace();}return list;}
}






http://www.ppmy.cn/news/562425.html

相关文章

CCM

声明&#xff1a;此原创非彼原创&#xff0c;资料来源于网络&#xff0c;只是经过加工整理罢了。如果引用了你的资料并没有说明出处&#xff0c;敬请原谅&#xff01;仅供学习参考。 CMOS Camera Modlue简称为CCM&#xff0c;CMOS摄像头模组。 CCM根据镜头焦距是否可变可以分为…

关于M.js

M.js 是文叔来加入小米之后&#xff0c;和团队一起整起来的一套开发框架&#xff0c;其实没有什么创新之处&#xff0c;更多是为了方便开发的同时使得前端的代码量降低。之前用jQ试过&#xff0c;但jq的一个包就80K 着实让人有点受不了。 M.js的大小一直维持到20K左右&#xff…

JMX

JMX&#xff08;Java Management Extensions&#xff0c;即Java管理扩展&#xff09;是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议&#xff0c;灵活的开发无缝集成的系统、网络和服务管理应用。 http://…

jmc、jcmd和jfr介绍

2019独角兽企业重金招聘Python工程师标准>>> jcmd、jmc和jfr介绍jmc分析介绍1jmc分析介绍2 转载于:https://my.oschina.net/u/2269952/blog/1592131

comm.js

/*加载时显示加载loading*/ function doReload(){ document.getElementById("ReLoad").style.display block; document.getElementById("ReLoad").style.left(Math.round((document.body.scrollWidth-300)/2)).toString()"px"; } /*函数功能&am…

js -- jsc

1.去掉创建工程时引进的 xxx.js文件

Linux自动删除tomcat日志文件

查看Linux启动的所有crontab&#xff1a;crontab -l 编辑crontab&#xff1a;crontab -e #!/bin/sh export LANGzh_CN export WEB_HOME/webhome#find [dir] -path "[dir]" -prune -o -mmin 1 -type f | xargs rm -f find ${WEB_HOME}/backup_logs/jsmcc/js8001 -mt…

JCSC

JCSC I. 简介 JCSC是Java Coding Standard Checker――Java编码标准检验程序的简称。JCSC是检查源代码的强大工具&#xff0c;它用来检查高度可定义的代码标准和可能的坏代码。 编码标准包括了对类、接口、区段、参数等等的命名规则&#xff0c;同样也规定了类型&…