Module bus.cache

Class Builder

java.lang.Object
org.miaixz.bus.cache.Builder

public class Builder extends Object
通用方法构建
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • getArgNames

      public static String[] getArgNames(Method method)
      获取方法参数名称

      从缓存中获取方法参数名称,如果缓存中不存在,则计算并缓存

      Parameters:
      method - 方法对象
      Returns:
      方法参数名称数组
    • getXArgNames

      public static String[] getXArgNames(int valueSize)
      获取X格式的参数名称

      生成xArgN格式的参数名称数组

      Parameters:
      valueSize - 参数数量
      Returns:
      X格式的参数名称数组
    • generateSingleKey

      public static String generateSingleKey(AnnoHolder annoHolder, Object[] argValues)
      生成单键

      根据注解信息和方法参数生成单个缓存键

      Parameters:
      annoHolder - 注解持有者
      argValues - 方法参数值数组
      Returns:
      生成的缓存键
    • generateMultiKey

      public static Map[] generateMultiKey(AnnoHolder annoHolder, Object[] argValues)
      生成多键

      根据注解信息和方法参数生成多个缓存键,适用于集合或数组类型的参数

      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 - 方法返回的Map
      missKeys - 未命中的键集合
      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 - 方法返回的Collection
      idSpel - ID的SpEL表达式
      missKeys - 未命中的键集合
      id2Key - ID到键的映射
      prevent - 防击穿开关
      Returns:
      键值映射
    • generatePattern

      public static String generatePattern(AnnoHolder annoHolder)
      生成缓存模式

      根据注解信息生成缓存命中率统计的模式字符串,如果缓存中存在则直接返回

      Parameters:
      annoHolder - 注解持有者
      Returns:
      缓存模式字符串