# 七 缓存工具

# 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();
Last Updated: 10/11/2021, 4:15:20 PM