# 七 缓存工具
# 7.1 全局存储工具
该工具的主要目的是构建一个基于内存的全局字典缓存工具。在使用该工具时注意防止内存泄露。
该工具是一个线程安全类的工具
工具路径:
com.yishuifengxiao.common.tool.context.LocalStorage
示例代码:
//存放一个数据
LocalStorage.put(new FileRecord());
//使用指定的索引存放一个数据
LocalStorage.put("k1", new FileRecord());
//根据索引获取一个数据
Object object = LocalStorage.get("k1");
//根据数据类型获取一个数据
FileRecord record = LocalStorage.get(FileRecord.class);
//根据索引从缓存中删除一个数据
LocalStorage.remove("k1");
//根据索引获取一个数据,然后从缓存中删除该数据
Object obj = LocalStorage.pop("k1");
//清除缓存中所有的数据
LocalStorage.clear();
# 7.2 上下文存储工具
该工具与全局存储工具基本类似,但不同的是,该工具是基于当前线程实现的,在当前线程中存储的数据不能再其他线程中访问。在使用该工具时注意防止内存泄露。
该工具是一个线程安全类的工具
工具路径:
com.yishuifengxiao.common.tool.context.SessionStorage
示例代码:
//存放一个数据
SessionStorage.put(new FileRecord());
//使用指定的索引存放一个数据
SessionStorage.put("k1", new FileRecord());
//根据索引获取一个数据
Object object = SessionStorage.get("k1");
//根据数据类型获取一个数据
FileRecord record = SessionStorage.get(FileRecord.class);
//根据索引从缓存中删除一个数据
SessionStorage.remove("k1");
//根据索引获取一个数据,然后从缓存中删除该数据
Object obj = SessionStorage.pop("k1");
//清除缓存中所有的数据
SessionStorage.clear();