博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单的Map缓存机制实现
阅读量:4973 次
发布时间:2019-06-12

本文共 1976 字,大约阅读时间需要 6 分钟。

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

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

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

1 package per.zww.util; 2  3 import java.util.Map; 4 import java.util.concurrent.ConcurrentHashMap; 5  6 public class CachePool { 7     private static CachePool cachePool; 8     private Map
cacheItems; 9 private CachePool() {10 cacheItems =new ConcurrentHashMap
();11 }12 /**13 * 获取唯一实例14 * @return instance15 */16 public static CachePool getInstance() {17 if (cachePool ==null) {18 synchronized (CachePool.class) {19 if (cachePool ==null) {20 cachePool =new CachePool();21 }22 }23 }24 return cachePool;25 }26 27 /**28 * 获取所有cache信息29 * @return cacheItems30 */31 public Map
getCacheItems() {32 return this.cacheItems;33 }34 35 /**36 * 清空cache37 */38 public void clearAllItems() {39 cacheItems.clear();40 }41 42 /**43 * 获取指定cache信息44 * @return cacheItem45 */46 public Object getCacheItem(Object key) {47 if (cacheItems.containsKey(key)) {48 return cacheItems.get(key);49 }50 return null;51 }52 53 /**54 * 存放cache信息55 */56 public void putCacheItem(Object key,Object value) {57 if (!cacheItems.containsKey(key)) {58 cacheItems.put(key, value);59 }60 }61 62 /**63 * 删除一个cache64 */65 public void removeCacheItem(Object key) {66 if (cacheItems.containsKey(key)) {67 cacheItems.remove(key);68 }69 }70 71 /**72 * 获取cache长度73 * @return size74 */75 public int getSize() {76 return cacheItems.size();77 }78 79 }

 

转载于:https://www.cnblogs.com/diaozhaojian/p/6580446.html

你可能感兴趣的文章
centos6.5安装apache2
查看>>
My code review
查看>>
Daily Scrum 2012/11/01
查看>>
Redis HyperLogLog
查看>>
容器,组件,面板
查看>>
常见HTML的!DOCTYPE声明
查看>>
※剑指offer系列37:求1+2+3……+n
查看>>
想在DPC中做个DELAY结果....
查看>>
分页技术
查看>>
密码学概念
查看>>
浅析MySQL中concat以及group_concat的使用
查看>>
【转】阿狸面试题
查看>>
2016-8-20晨型养成第五天
查看>>
cocos下的UI编辑器--BoomEditor使用教程(3)--动画编辑模式
查看>>
利用anaconda2随意切换proto的版本,多proto并存,protobuf,libprotobuf
查看>>
.net下几种常用的对称加解密
查看>>
reactjs学习一(环境搭配react+es6+webpack热部署)
查看>>
Linux 高性能服务器编程——高级I/O函数
查看>>
安卓天天练练(二)相对布局和帧布局
查看>>
更新与升级 FreeBSD
查看>>