使用ConcurrentHashMap作为缓存工具类的总结

来源:互联网 发布:大数据时代 维克托 编辑:程序博客网 时间:2024/05/17 22:52

使用哈希表作为缓存工具,可以有时候有效避免对数据库的频繁访问,有助于效率和性能的提高

package com.test.lz;import java.util.Date;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;/** * 数据缓存类 *  * @author zhe.liu * */public class CacheMap {public static int DEFAULT_CACHE_MINUTE = 5;/** * 数据缓存map */private static Map<String, Object> dataMap = new ConcurrentHashMap<String, Object>();/** * 数据缓存过期map */private static Map<String, Date> dataExpireMap = new ConcurrentHashMap<String, Date>();/** * 将一个key、value值放入内存缓存,并设置过期分钟数 *  * @param key * @param val * @param expireMiute */public static void put(String key, Object val, int expireMiute) {dataMap.put(key, val);dataExpireMap.put(key, DateUtil.addMinutes(new Date(), expireMiute));}/** * 从缓存中获取一个key的数据(若过期返回null) *  * @param key * @return */public static Object get(String cacheKey) {Object obj = null;Date expireDate = CacheMap.dataExpireMap.get(cacheKey);if (expireDate != null && expireDate.compareTo(new Date()) > 0) {obj = CacheMap.dataMap.get(cacheKey);}return obj;}}




原创粉丝点击