Skip to content

MapCache

PatternDirClean edited this page Apr 6, 2020 · 1 revision

使用 Map 实现的映射缓存工具。数据获取以及设置都使用 key,val 的方式进行。

建议使用 build() 方法获取 Build 工具进行构造。

使用 get(key)pet(key, val) 方法来获取和设置缓存数据。

使用示例

MapCache<String, Object> cache = MapCache.build(String.class, Object.class)
                                         // 注册引用类型
                                         .refernce(WeakReference.class)
                                         .build();

// -> null
cache.get("asd", (k, v) -> System.out.println(v));
// 缓存数据
cache.put("asd", new Object());
// -> Object.toString()
cache.get("asd", (k, v) -> System.out.println(v));

自填充变种 SMapCache

移除 pet(key) 方法,在注册的时候使用可抛异常的 Function 功能接口作为数据生成方法。

数据生成接口会传入请求获取的 key

使用示例

SMapCache<String, Object> cache = SMapCache.build(String.class, Object.class)
                                           // 数据生产接口
                                           .createdata(k -> new Object())
                                           // 注册引用类型
                                           .refernce(WeakReference.class)
                                           .build();

// -> Object.toString() will is not null
cache.get("asd", (k, v) -> System.out.println(v));

Clone this wiki locally