java.lang.Object
org.miaixz.bus.cache.Builder
通用方法构建
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncollectionToKeyValue(Collection proceedCollection, String idSpel, Set<String> missKeys, Map<Object, String> id2Key, org.miaixz.bus.core.lang.EnumValue.Switch prevent) 将Collection转换为键值映射static Map[]generateMultiKey(AnnoHolder annoHolder, Object[] argValues) 生成多键static StringgeneratePattern(AnnoHolder annoHolder) 生成缓存模式static StringgenerateSingleKey(AnnoHolder annoHolder, Object[] argValues) 生成单键static String[]getArgNames(Method method) 获取方法参数名称static String[]getXArgNames(int valueSize) 获取X格式的参数名称mapToKeyValue(Map proceedEntryValueMap, Set<String> missKeys, Map<Object, String> multiEntry2Key, org.miaixz.bus.core.lang.EnumValue.Switch prevent) 将Map转换为键值映射
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
getArgNames
获取方法参数名称从缓存中获取方法参数名称,如果缓存中不存在,则计算并缓存
- Parameters:
method- 方法对象- Returns:
- 方法参数名称数组
-
getXArgNames
获取X格式的参数名称生成xArgN格式的参数名称数组
- Parameters:
valueSize- 参数数量- Returns:
- X格式的参数名称数组
-
generateSingleKey
生成单键根据注解信息和方法参数生成单个缓存键
- Parameters:
annoHolder- 注解持有者argValues- 方法参数值数组- Returns:
- 生成的缓存键
-
generateMultiKey
生成多键根据注解信息和方法参数生成多个缓存键,适用于集合或数组类型的参数
- Parameters:
annoHolder- 注解持有者argValues- 方法参数值数组- Returns:
- 包含两个映射的数组:第一个是多元素到键的映射,第二个是键到多元素的映射
-
mapToKeyValue
public static Map<String,Object> mapToKeyValue(Map proceedEntryValueMap, Set<String> missKeys, Map<Object, String> multiEntry2Key, org.miaixz.bus.core.lang.EnumValue.Switch prevent) 将Map转换为键值映射将方法返回的Map转换为键值映射,用于批量写入缓存。 支持防击穿逻辑,当开启防击穿功能时,会将未命中的键设置为防击穿对象。
- Parameters:
proceedEntryValueMap- 方法返回的MapmissKeys- 未命中的键集合multiEntry2Key- 多元素到键的映射prevent- 防击穿开关- Returns:
- 键值映射
-
collectionToKeyValue
public static Map<String,Object> collectionToKeyValue(Collection proceedCollection, String idSpel, Set<String> missKeys, Map<Object, String> id2Key, org.miaixz.bus.core.lang.EnumValue.Switch prevent) 将Collection转换为键值映射将方法返回的Collection转换为键值映射,用于批量写入缓存。 支持防击穿逻辑,当开启防击穿功能时,会将未命中的键设置为防击穿对象。
- Parameters:
proceedCollection- 方法返回的CollectionidSpel- ID的SpEL表达式missKeys- 未命中的键集合id2Key- ID到键的映射prevent- 防击穿开关- Returns:
- 键值映射
-
generatePattern
生成缓存模式根据注解信息生成缓存命中率统计的模式字符串,如果缓存中存在则直接返回
- Parameters:
annoHolder- 注解持有者- Returns:
- 缓存模式字符串
-