java.lang.Object
org.miaixz.bus.cache.support.metrics.AbstractMetrics
- All Implemented Interfaces:
Metrics
- Direct Known Subclasses:
H2Metrics,MySQLMetrics,PostgreSQLMetrics,SqliteMetrics
抽象缓存命中率统计实现
基于数据库存储的缓存命中率统计实现,使用队列异步写入数据库, 支持并发更新和乐观锁机制,确保数据一致性。
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.miaixz.bus.cache.Metrics
Metrics.Snapshot -
Constructor Summary
ConstructorsModifierConstructorDescriptionAbstractMetrics(String url, String username, String password) 构造方法protectedAbstractMetrics(Map<String, Object> context) 构造方法 -
Method Summary
Modifier and TypeMethodDescription获取缓存命中率统计信息void增加命中次数protected abstract Supplier<org.springframework.jdbc.core.JdbcOperations> jdbcOperationsSupplier(Map<String, Object> context) 创建JdbcOperations并初始化数据库newHashMap(Object... keyValues) 创建新的HashMapvoid增加请求次数void重置指定缓存模式的命中率统计voidresetAll()重置所有缓存模式的命中率统计voidtearDown()销毁方法protected abstract Stream<AbstractMetrics.DataDO> transferResults(List<Map<String, Object>> map) 将数据库查询结果转换为DataDO流Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.miaixz.bus.cache.Metrics
summaryName
-
Constructor Details
-
AbstractMetrics
构造方法- Parameters:
context- 上下文参数
-
AbstractMetrics
构造方法- Parameters:
url- 数据库URLusername- 用户名password- 密码
-
-
Method Details
-
newHashMap
创建新的HashMap- Parameters:
keyValues- 键值对数组- Returns:
- HashMap实例
-
jdbcOperationsSupplier
protected abstract Supplier<org.springframework.jdbc.core.JdbcOperations> jdbcOperationsSupplier(Map<String, Object> context) 创建JdbcOperations并初始化数据库1. 创建JdbcOperations实例 2. 初始化数据库(如加载SQL脚本、创建表、初始化表等)
- Parameters:
context- 构造函数中的其他参数- Returns:
- 初始化完成的JdbcOperations对象
-
transferResults
将数据库查询结果转换为DataDO流- Parameters:
map- 数据库查询结果- Returns:
- DataDO流
-
hitIncr
增加命中次数 -
reqIncr
增加请求次数 -
getHitting
获取缓存命中率统计信息- Specified by:
getHittingin interfaceMetrics- Returns:
- 缓存命中率统计映射,键为缓存模式/分组名称,值为HittingDO对象
-
reset
重置指定缓存模式的命中率统计 -
resetAll
public void resetAll()重置所有缓存模式的命中率统计 -
tearDown
@PreDestroy public void tearDown()销毁方法使用@PreDestroy注解,在Bean销毁时等待队列处理完毕并关闭执行器
-