map全局缓存demo
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的更多相关文章
- 单例设计模式全局缓存accessToken
使用微信JS-SDK开发的小伙伴们,看文档经常会看到这样一句话:(下面是微信开发文档的一部分原话截图) 这句话就是:开发者必须在自己的服务全局缓存access_token,jsapi_ticket 下 ...
- MySQL内存----使用说明全局缓存+线程缓存) 转
MySQL内存使用说明(全局缓存+线程缓存) 首先我们来看一个公式,MySQL中内存分为全局内存和线程内存两大部分(其实并不全部,只是影响比较大的 部分): per_thread_buffers=(r ...
- java使用Map做缓存你真的用对了吗?弱引用WeakHashMap了解一下
目录 关于缓存我们应该考虑什么?-intsmaze WeakHashMap弱引用-intsmaze 线程安全问题-intsmaze Collections-intsmaze ThreadLocal-i ...
- 使用gacutil把COM组件注册到全局缓存GAC中
我们在编写软件的时候,有时候需要调用COM组件,那就需要注册了,注册有两种,一种是使用regasm 在程序运行的时候注册,参考“pb调用C#编写的DLL类库“,不过受路径的限制.还有一种注册方式,使用 ...
- openresty开发系列30--openresty中使用全局缓存
openresty开发系列30--openresty中使用全局缓存 Nginx全局内存---本地缓存 使用过如Java的朋友可能知道如Ehcache等这种进程内本地缓存.Nginx是一个Master进 ...
- Mybatis开启二级缓存(全局缓存)的方法
Mybatis开启二级缓存的方法 开启步骤 1.在 mybatis-config.xml 的配置文件中进行显示配置,开启二级缓存(全局缓存) 2.在 Mapper.xml 文件中添加cache标签 一 ...
- Map实现缓存
为什么要使用缓存 缓存最终的目的是为减轻服务端压力,减少网络传输请求 客户端缓存 浏览器访问自带缓存~~ 页面缓存 浏览器缓存 App客户端缓存 IOS 前端开发 底层都有缓存技术的 ( ...
- TinyFrame升级之五:全局缓存的设计及实现
在任何框架中,缓存都是不可或缺的一部分,本框架亦然.在这个框架中,我们的缓存分为两部分:内存缓存和单次请求缓存.简单说来,就是一个使用微软提供的MemoryCache做扩展,并提供全局唯一实例:另一个 ...
- Java 使用 Map 实现缓存工具
以下代码参考于网上,做了小部分修改. 该代码实现了定时清除临时缓存的功能. 缓存管理类 package com.wbproject.util.cache; import java.time.Local ...
随机推荐
- NAudio的使用说明
官方网站:http://naudio.codeplex.com/ 源码:https://github.com/naudio/NAudio NuGet安装: Install-Package NAudio ...
- Android零基础入门第34节:Android中基于监听的事件处理
原文:Android零基础入门第34节:Android中基于监听的事件处理 上一期我们学习了Android中的事件处理,也详细学习了Android中基于监听的事件处理,同时学会了匿名内部类形式,那么本 ...
- Oracle 存储过程创建及调用
--------创建存储过程------- create or replace procedure TestSPas begin update table_name set CREATE_TIMEST ...
- MySQL 其它基本操作
索引 所谓索引,就是类似于书的目录,目的也类似,都是为了提高检索速度.ALTER TABLE <表名> ADD INDEX <索引名(列名)>;或者CREATE INDEX & ...
- Color gradient in Delphi FireMonkey
Introduction to color gradients in Delphi FireMonkey. Video This video covers the basics of color gr ...
- MFC 中 Tooltip 实现的几种方式
方法一:利用CWnd本身自身支持的tooptip来实现,这种方法适用给控件增加tooltip,非常方便和简单方法如下:1.在窗口中增加消息映射ON_NOTIFY_EX(TTN_NEEDTEXT, 0, ...
- 设计模式——(Abstract Factory)抽象工厂“改正为简单工厂”
设计面向对象软件比较困难,而设计可复用的面向对象软件就更加困难.你必须设计相关类,并设计类的接口和继承之间的关系.设计必须可以解决当前问题,同时必须对将来可能发生的问题和需求也有足够的针对性.掌握面向 ...
- 可以用变量指定大小的Bits对象实现
c++的容器中有位对象bitset,但是个人认为最大的问题是定义是必须指定常数大小,比如 bitset<3> bit; 无法实现 int n = 3; bitset<n> bi ...
- hadoop之hbase基本操作
hbase shell 进入hbase命令行 list 显示HBASE表 status 系统上运行的服务器的细节和系统的状态 version 返回HBase系统使用的版本 table_help 引导如 ...
- JVM底层实现与总结
一.类加载器 1.BootstrapClassLoader(启动类加载器) 它主要负责加载%JAVA_HOME%/jre/lib,-Xbootclasspath参数指定的路径以及%JAVA_HOME% ...