zoukankan      html  css  js  c++  java
  • Java 利用Map实现缓存

    一、缓存工具类

    package com.zsplat.yyzx.util;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    /**
     * 缓存机制
     */
    public class CacheUtil {
        private static CacheUtil cacheUtil;
        private static Map<String,Object> cacheMap;
    
        private CacheUtil(){
            cacheMap = new HashMap<String, Object>();
        }
    
        public static CacheUtil getInstance(){
            if (cacheUtil == null){
                cacheUtil = new CacheUtil();
            }
            return cacheUtil;
        }
    
        /**
         * 添加缓存
         * @param key
         * @param obj
         */
        public void addCacheData(String key,Object obj){
            cacheMap.put(key,obj);
        }
    
        /**
         * 取出缓存
         * @param key
         * @return
         */
        public Object getCacheData(String key){
            return cacheMap.get(key);
        }
    
        /**
         * 清楚缓存
         * @param key
         */
        public void removeCacheData(String key){
            cacheMap.remove(key);
        }
    }

    二、写一个定时器  定时从数据库里查出数据添加到缓存中 

      CacheUtil.getInstance().addCacheData("cacheYYZS100New", cacheMap);

    三、取出缓存

      Map<String , Object> cacheMap = (Map<String, Object>)CacheUtil.getInstance().getCacheData("cacheYYZS100New");

      存缓存和取缓存的方法,知道类型的话,强制转换都没问题

    四、分页   捋清楚startIndex和pageSize,count之前的关系就行   用截取list的方法实现分页

    if(StringUtils.isNotEmpty(startIndex)&&StringUtils.isNotEmpty(pageSize)){
                    Integer start = Integer.parseInt(startIndex);
                    Integer size = Integer.parseInt(pageSize);
                    if(size*(start+1)<resultCount){
                        dataList = dataList.subList(start*size,size*(start+1));
                    }else if(start*size<resultCount){
                        dataList = dataList.subList(start*size,resultCount);
                    }else{
                        dataList = new ArrayList<>();
                    }
                }
  • 相关阅读:
    去除文件中的空行
    数据分析 numpy matplotlib
    程序员
    c#
    java
    微信小游戏
    小游戏开发手册
    模板
    微信小程序小程序代码构成(.json .js .wxss .wxml)
    微信程序
  • 原文地址:https://www.cnblogs.com/zhou-pan/p/10141521.html
Copyright © 2011-2022 走看看