在系統啟動時可以將數據保存到一個靜態變量中,經過一定時間更新一次,完成緩存的效果。
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); } }