import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import org.apache.log4j.Logger;
public class MapCache {
protected Logger log=Logger.getLogger(getClass().getName());
private static Map<Object, Object> cacheMap = new ConcurrentHashMap<Object, Object>(); public static void destoryCacheMap() {
cacheMap = null;
} public static Map<Object, Object> getCacheMap() {
return cacheMap;
} public static void set(Object key, Object values) {
cacheMap.put(key, values);
} public static Object get(Object key) {
return cacheMap.get(key);
} public static String getString(Object key) {
return (String) cacheMap.get(key);
} public static Object getToEmpty(Object key) {
Object o = cacheMap.get(key);
if (o == null)
return "";
else
return o;
} public static void remove(Object key) {
cacheMap.remove(key);
} public static void clear() {
cacheMap.clear();
}
}
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();
} }
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; public class CacheTime {
private static CacheTime cacheTime;
private Map<Object, Object> cacheTimes;
private CacheTime() {
cacheTimes =new ConcurrentHashMap<Object, Object>();
}
/**
* 获取唯一实例
* @return instance
*/
public static CacheTime getInstance() {
if (cacheTime ==null) {
synchronized (CacheTime.class) {
if (cacheTime ==null) {
cacheTime =new CacheTime();
}
}
}
return cacheTime;
} /**
* 获取所有cache信息
* @return cacheItems
*/
public Map<Object, Object> getCacheItems() {
return this.cacheTimes;
} /**
* 清空cache
*/
public void clearAllItems() {
cacheTimes.clear();
} /**
* 获取指定cache信息
* @return cacheItem
*/
public Object getCacheItem(Object key) {
if (cacheTimes.containsKey(key)) {
return cacheTimes.get(key);
}
return null;
} /**
* 存放cache信息
*/
public void putCacheItem(Object key,Object value) {
if (!cacheTimes.containsKey(key)) {
cacheTimes.put(key, value);
}
} /**
* 删除一个cache
*/
public void removeCacheItem(Object key) {
if (cacheTimes.containsKey(key)) {
cacheTimes.remove(key);
}
} /**
* 获取cache长度
* @return size
*/
public int getSize() {
return cacheTimes.size();
} }
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import org.apache.log4j.Logger; //此Map缓存针对处理排行榜数据接口
public class timeMapUtil {
protected Logger log=Logger.getLogger(getClass().getName());
private static Map<Integer,String> cacheMap=new ConcurrentHashMap<Integer,String>();
private static Map<Integer,String> daymap=new ConcurrentHashMap<Integer,String>();
private static Map<Integer,String> weekmap=new ConcurrentHashMap<Integer,String>();
private static Map<Integer,String> monthmap=new ConcurrentHashMap<Integer,String>();
private static Map<Integer,String> floorday=new ConcurrentHashMap<Integer,String>();
private static Map<Integer,String> floorweek=new ConcurrentHashMap<Integer,String>();
private static Map<Integer,String> floormonth=new ConcurrentHashMap<Integer,String>();
public static void destoryCacheMap(){
cacheMap=null;
}
public static Map<Integer,String> getCacheMap() {
return cacheMap;
} public static void set(int key, String values) {
cacheMap.put(key, values);
} public static String get(int key) {
return cacheMap.get(key);
} public static String getString(int key) {
return (String) cacheMap.get(key);
} public static Object getToEmpty(int key) {
Object o = cacheMap.get(key);
if (o == null)
return "";
else
return o;
} public static void remove(int key) {
cacheMap.remove(key);
} public static void clear() {
cacheMap.clear();
}
//今日
public static String getday(int key) {
return (String) daymap.get(key);
}
public static void setday(int key, String values) {
daymap.put(key, values);
}
//本周
public static String getweek(int key) {
return (String) weekmap.get(key);
}
public static void setweek(int key, String values) {
weekmap.put(key, values);
}
//本月
public static String getmonth(int key) {
return (String) monthmap.get(key);
}
public static void setmonth(int key, String values) {
monthmap.put(key, values);
}
//昨日
public static String getfloorday(int key) {
return (String) floorday.get(key);
}
public static void setfloorday(int key, String values) {
floorday.put(key, values);
}
//上周
public static String getfloorweek(int key) {
return (String) floorweek.get(key);
}
public static void setfloorweek(int key, String values) {
floorweek.put(key, values);
}
//上月
public static String getfloormonth(int key) {
return (String) floormonth.get(key);
}
public static void setfloormonth(int key, String values) {
floormonth.put(key, values);
}
}

map全局缓存demo的更多相关文章

  1. 单例设计模式全局缓存accessToken

    使用微信JS-SDK开发的小伙伴们,看文档经常会看到这样一句话:(下面是微信开发文档的一部分原话截图) 这句话就是:开发者必须在自己的服务全局缓存access_token,jsapi_ticket 下 ...

  2. MySQL内存----使用说明全局缓存+线程缓存) 转

    MySQL内存使用说明(全局缓存+线程缓存) 首先我们来看一个公式,MySQL中内存分为全局内存和线程内存两大部分(其实并不全部,只是影响比较大的 部分): per_thread_buffers=(r ...

  3. java使用Map做缓存你真的用对了吗?弱引用WeakHashMap了解一下

    目录 关于缓存我们应该考虑什么?-intsmaze WeakHashMap弱引用-intsmaze 线程安全问题-intsmaze Collections-intsmaze ThreadLocal-i ...

  4. 使用gacutil把COM组件注册到全局缓存GAC中

    我们在编写软件的时候,有时候需要调用COM组件,那就需要注册了,注册有两种,一种是使用regasm 在程序运行的时候注册,参考“pb调用C#编写的DLL类库“,不过受路径的限制.还有一种注册方式,使用 ...

  5. openresty开发系列30--openresty中使用全局缓存

    openresty开发系列30--openresty中使用全局缓存 Nginx全局内存---本地缓存 使用过如Java的朋友可能知道如Ehcache等这种进程内本地缓存.Nginx是一个Master进 ...

  6. Mybatis开启二级缓存(全局缓存)的方法

    Mybatis开启二级缓存的方法 开启步骤 1.在 mybatis-config.xml 的配置文件中进行显示配置,开启二级缓存(全局缓存) 2.在 Mapper.xml 文件中添加cache标签 一 ...

  7. Map实现缓存

    为什么要使用缓存 缓存最终的目的是为减轻服务端压力,减少网络传输请求 客户端缓存 浏览器访问自带缓存~~ 页面缓存 浏览器缓存 App客户端缓存    IOS 前端开发     底层都有缓存技术的 ( ...

  8. TinyFrame升级之五:全局缓存的设计及实现

    在任何框架中,缓存都是不可或缺的一部分,本框架亦然.在这个框架中,我们的缓存分为两部分:内存缓存和单次请求缓存.简单说来,就是一个使用微软提供的MemoryCache做扩展,并提供全局唯一实例:另一个 ...

  9. Java 使用 Map 实现缓存工具

    以下代码参考于网上,做了小部分修改. 该代码实现了定时清除临时缓存的功能. 缓存管理类 package com.wbproject.util.cache; import java.time.Local ...

随机推荐

  1. ARTS 12.31 - 1.4

    Algorithm 这是一道需要用动态规划的问题.求字符串的最长回文子序列. 复习了一遍动态规划,重点是要分析出最优解所包含的子问题的最优解,把过程描述为数学公式. 题目https://leetcod ...

  2. Android零基础入门第26节:layout_gravity和gravity大不同

    原文:Android零基础入门第26节:layout_gravity和gravity大不同 上一期我们一起学习了LinearLayout线性布局的方向.填充模型和权重,本期来一起学习LinearLay ...

  3. Android零基础入门第80节:Intent 属性详解(下)

    上一期学习了Intent的前三个属性,本期接着学习其余四个属性,以及Android系统常用内置组件的启动. 四.Data和Type属性 Data属性通常用于向Action属性提供操作的数据.Data属 ...

  4. SQL Server 将某一列的值拼接成字符串

    名称 海鲜水产 水果蔬菜 海参 肉禽蛋 牛排 腊味 生鲜食品 将以上一列变成: 生鲜食品,海鲜水产,水果蔬菜,海参,牛排,肉禽蛋,腊味 sql for xml path('')

  5. Docker最全教程之使用Node.js搭建团队技术文档站(二十三)

    前言 各种编程语言均有其优势和生态,有兴趣的朋友完全可以涉猎多门语言.在平常的工作之中,也可以尝试选择相对适合的编程语言来完成相关的工作. 在团队技术文档站搭建这块,笔者尝试了许多框架,最终还是选择了 ...

  6. sentinel 核心概念

    编者注:前段时间笔者在团队内部分享了sentinel原理设计与实现,主要讲解了sentinel基础概念和工作原理,工作原理部分大家听了基本都了解了,但是对于sentinel的几个概念及其之间的关系还有 ...

  7. Docker 安装mysql容器数据卷挂载到宿主机

    环境 Centos:7 Docker: 17.05-ce Mysql: 5.7 1. Mysql外部数据和配置文件路径 msyql配置文件路径:/etc/mysql mysql数据卷路径:/var/l ...

  8. Java NIO: Non-blocking Server 非阻塞网络服务器

    本文翻译自 Jakob Jenkov 的 Java NIO: Non-blocking Server ,原文地址:http://tutorials.jenkov.com/java-nio/non-bl ...

  9. php抽奖概率程序

    抽奖概率思想: 1.给每一个奖项设置要给概率数,如下面所有奖品综合设置为100,iphone5s是5,也就是5% 2.然后通过php生成随机数函数生成一个在总概率之间的随机数 如:抽第一个奖品5s的时 ...

  10. Programming In Lua 第五章

    1, 2, 3, 4, 5, 6, 7, 8, 9, 第9点非常重点. 10,