Module bus.cache

Class H2Metrics

java.lang.Object
org.miaixz.bus.cache.support.metrics.AbstractMetrics
org.miaixz.bus.cache.support.metrics.H2Metrics
All Implemented Interfaces:
Metrics

public class H2Metrics extends AbstractMetrics
H2数据库缓存命中率统计实现

基于H2内存数据库实现的缓存命中率统计,使用单连接数据源和JdbcTemplate进行数据库操作。 自动创建缓存统计表,支持并发更新和乐观锁机制。

Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • H2Metrics

      public H2Metrics(Map<String,Object> context)
      构造方法
      Parameters:
      context - 上下文参数
    • H2Metrics

      public H2Metrics(String url, String username, String password)
      构造方法
      Parameters:
      url - 数据库URL
      username - 用户名
      password - 密码
  • Method Details

    • jdbcOperationsSupplier

      protected Supplier<org.springframework.jdbc.core.JdbcOperations> jdbcOperationsSupplier(Map<String,Object> context)
      创建JdbcOperations并初始化数据库

      创建H2数据库连接,初始化JdbcTemplate,并创建缓存统计表

      Specified by:
      jdbcOperationsSupplier in class AbstractMetrics
      Parameters:
      context - 上下文参数
      Returns:
      初始化完成的JdbcOperations对象
    • transferResults

      protected Stream<AbstractMetrics.DataDO> transferResults(List<Map<String,Object>> mapResults)
      将数据库查询结果转换为DataDO流

      将查询结果Map转换为DataDO对象流,便于后续处理

      Specified by:
      transferResults in class AbstractMetrics
      Parameters:
      mapResults - 数据库查询结果
      Returns:
      DataDO流
    • tearDown

      @PreDestroy public void tearDown()
      销毁方法

      使用@PreDestroy注解,在Bean销毁时调用父类的tearDown方法

      Overrides:
      tearDown in class AbstractMetrics