zoukankan      html  css  js  c++  java
  • 简单的Map缓存机制实现

    简单的Map缓存机制实现

    大致思路是用一个单例的Map实现,当然此Map得是线程安全的--ConcurrentHashMap

    原本项目需求是缓存十条消息,所以打算用Map实现缓存机制。中途夭折下面具体尚未实现。。。

    当然此代码仞为半成品,具体得根据项目需求采用不同的原则清除缓存

    package per.zww.util;
    
    import java.util.Map;
    import java.util.concurrent.ConcurrentHashMap;
    
    public class CachePool {
        private static CachePool cachePool;
        private Map<Object, Object> cacheItems;
        private CachePool() {
            cacheItems =new ConcurrentHashMap<Object, Object>();
        }
        /**
         * 获取唯一实例
         * @return instance
         */
        public static CachePool getInstance() {
            if (cachePool ==null) {
                synchronized (CachePool.class) {
                    if (cachePool ==null) {
                        cachePool =new CachePool();
                    }
                }
            }
            return cachePool;
        }
        
        /**
         * 获取所有cache信息
         * @return cacheItems
         */
        public Map<Object, Object> getCacheItems() {
            return this.cacheItems;
        }
        
        /**
         * 清空cache
         */
        public void clearAllItems() {
            cacheItems.clear();
        }
        
        /**
         * 获取指定cache信息
         * @return cacheItem
         */
        public Object getCacheItem(Object key) {
            if (cacheItems.containsKey(key)) {
                return cacheItems.get(key);
            }
            return null;
        }
        
        /**
         * 存放cache信息
         */
        public void putCacheItem(Object key,Object value) {
            if (!cacheItems.containsKey(key)) {
                cacheItems.put(key, value);
            }
        }
        
        /**
         * 删除一个cache
         */
        public void removeCacheItem(Object key) {
            if (cacheItems.containsKey(key)) {
                cacheItems.remove(key);
            }
        }
        
        /**
         * 获取cache长度
         * @return size
         */
        public int getSize() {
            return cacheItems.size();
        }
        
    }
  • 相关阅读:
    评论啦 测试 PHP
    简易JSON格式化 PHP
    36进制 PHP
    CSS3字体阴影演示 PHP
    IE下获取所有客户端字体,设置背景色 PHP
    获取页面宽高数据 PHP
    recognize和recognition
    增强Activex控件,暴露method方法,在javascript中操作activex控件并调用web service方法
    javascript 也可以用try catch了.
    toggle
  • 原文地址:https://www.cnblogs.com/zhaoww/p/5122969.html
Copyright © 2011-2022 走看看