JAVA实现静态变量缓存
在系统启动时可以将数据保存到一个静态变量中,经过一定时间更新一次,完成缓存的效果。
CacheManager.java
package com.zqgame.util; import java.util.HashMap; import java.util.Map; import java.util.Timer; import java.util.TimerTask; import org.apache.log4j.Logger; /** * 缓存管理工具 * @author Administrator * */ public class CacheManager { private static final Logger LOG=Logger.getLogger(CacheManager.class); /**存储缓存数据**/ public static Map<String, Object> map = new HashMap<String, Object>(); /** * 更新缓存数据 */ public static void updateCache(){ clearCache(); loadData(); LOG.info(map.size()+"条数据已加载到缓存!"); } /** * 清理缓存数据 */ public static void clearCache(){ map.clear(); } /** * 获取缓存数据 */ public static Object getRealLink(String key){ return map.get(key); } /** * 加载缓存数据 */ private static void loadData(){ LOG.info("加载缓存数据,这里根据业务需求完成缓存数据的获取!"); } /** * 启动定时任务,经过一定的时间(单位分钟),更新缓存数据 * @param minute */ public static void startTask(int minute){ TimerTask task = new TimerTask() { @Override public void run() { // TODO Auto-generated method stub updateCache(); } }; Timer timer = new Timer(); long delay = 0; long inteval = minute * 60 * 1000; timer.scheduleAtFixedRate(task, delay, inteval); } }