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);
    }
}

 

posted @ 2015-04-29 10:27  telzhou  阅读(4652)  评论(1编辑  收藏  举报