MCPcopy Create free account

hub / github.com/bafuka/HotArmor / functions

Functions307 in github.com/bafuka/HotArmor

↓ 85 callersMethodput
写入缓存 @param key 缓存键 @param value 缓存值
hotarmor-core/src/main/java/cn/bafuka/hotarmor/core/CacheEngine.java:26
↓ 50 callersMethodget
获取缓存值 @param key 缓存键 @return 缓存值,不存在返回 null
hotarmor-core/src/main/java/cn/bafuka/hotarmor/core/CacheEngine.java:18
↓ 35 callersMethodshouldPass
记录一次访问,并判断是否应该继续传递给下游 @param context 上下文信息 @return true 表示频率达到阈值,应该传递给 L3 Sentinel; false 表示是冷数据,直接放行到安全回源
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/L2NoiseFilter.java:18
↓ 24 callersMethodgetMethod
获取目标方法 @param joinPoint 切点 @param targetClass 目标类 @param methodName 方法名 @return 方法对象
hotarmor-core/src/main/java/cn/bafuka/hotarmor/spel/DefaultSpelExpressionParser.java:91
↓ 19 callersMethodload
安全加载数据(带防击穿保护) 执行流程:查 Redis -> 查 DB(带分布式锁) -> 回写 Redis @param context 上下文信息 @param dbLoader 数据库加载函数 @return 加载的数据
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/L4SafeLoader.java:23
↓ 18 callersMethodgetCount
获取当前计数 @param context 上下文信息 @return 当前时间窗口内的访问次数
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/L2NoiseFilter.java:33
↓ 15 callersMethodget
从 L1 缓存中获取数据 @param context 上下文信息 @return 缓存值,未命中返回 null
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/L1CacheEngine.java:19
↓ 13 callersMethodgetOrCreateCache
获取或创建指定资源的缓存实例 @param resource 资源名称 @param config L1 配置 @return Caffeine Cache 实例
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/CaffeineL1CacheEngine.java:36
↓ 13 callersMethodgetOrCreateCounter
获取或创建计数器缓存 @param resource 资源名称 @param config L2 配置 @return 计数器缓存
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/CaffeineL2NoiseFilter.java:41
↓ 13 callersMethodparseKey
解析表达式,获取缓存键 @param expression SpEL 表达式 @param joinPoint 切点 @param targetClass 目标类 @param methodName 方法名 @return 解析后的值
hotarmor-core/src/main/java/cn/bafuka/hotarmor/spel/SpelExpressionParser.java:20
↓ 12 callersMethodregisterConfig
注册配置 @param resource 资源名称 @param config L4 配置
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/RedissonL4SafeLoader.java:52
↓ 11 callersMethodgetContext
()
hotarmor-core/src/main/java/cn/bafuka/hotarmor/exception/HotArmorLoadException.java:32
↓ 8 callersMethodhandleCache
处理 @HotArmorCache 注解的方法调用 @param joinPoint 切点 @param context 上下文信息 @return 方法返回值 @throws Throwable 异常
hotarmor-core/src/main/java/cn/bafuka/hotarmor/aspect/HotArmorAspectHandler.java:20
↓ 8 callersMethodisHotspot
检查是否触发热点限流 @param context 上下文信息 @return true 表示触发热点(需要晋升到 L1),false 表示正常通过
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/L3HotspotDetector.java:17
↓ 7 callersMethodhandleEvict
处理 @HotArmorEvict 注解的方法调用 @param joinPoint 切点 @param context 上下文信息 @param beforeInvocation 是否在方法执行前删除 @param delayedDelete 是否延迟删除 @param broadca
hotarmor-core/src/main/java/cn/bafuka/hotarmor/aspect/HotArmorAspectHandler.java:33
↓ 7 callersMethodhandleUpdate
处理数据更新(完整的一致性流程) 包括:立即删除 Redis -> 发送延迟消息 -> 发送广播通知 @param context 上下文信息
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/ConsistencyManager.java:22
↓ 7 callersMethodput
将数据写入 L1 缓存 @param context 上下文信息 @param value 要缓存的值
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/L1CacheEngine.java:27
↓ 6 callersMethodgetName
()
hotarmor-core/src/test/java/cn/bafuka/hotarmor/spel/DefaultSpelExpressionParserTest.java:267
↓ 5 callersMethodgetRedisKey
(HotArmorContext context)
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/RedissonL4SafeLoader.java:225
↓ 5 callersMethodgetRules
查看所有规则配置
hotarmor-example/src/main/java/cn/bafuka/hotarmor/example/controller/DiagnosticController.java:37
↓ 5 callersMethodinvalidate
删除缓存 @param key 缓存键
hotarmor-core/src/main/java/cn/bafuka/hotarmor/core/CacheEngine.java:33
↓ 5 callersMethodloadFromDb
从数据库加载数据 @param context 上下文 @param dbLoader 数据库加载函数 @return 数据
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/RedissonL4SafeLoader.java:249
↓ 5 callersMethodparseCondition
解析条件表达式 @param expression SpEL 表达式 @param joinPoint 切点 @param targetClass 目标类 @param methodName 方法名 @return true 表示条件满足,false 表示不满足
hotarmor-core/src/main/java/cn/bafuka/hotarmor/spel/SpelExpressionParser.java:32
↓ 4 callersMethodgetId
()
hotarmor-core/src/test/java/cn/bafuka/hotarmor/spel/DefaultSpelExpressionParserTest.java:259
↓ 4 callersMethodinvalidateAll
清空所有缓存
hotarmor-core/src/main/java/cn/bafuka/hotarmor/core/CacheEngine.java:38
↓ 4 callersMethodregisterConfig
注册一致性配置 @param resource 资源名称 @param config 一致性配置
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/impl/DefaultConsistencyManager.java:263
↓ 3 callersMethoddeleteFromRedis
删除 Redis 中的数据 @param context 上下文信息
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/L4SafeLoader.java:46
↓ 3 callersMethodgetFromRedis
从 Redis 获取数据 @param context 上下文信息 @return Redis 中的数据,不存在返回 null
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/L4SafeLoader.java:31
↓ 3 callersMethodgetFromRedis
(HotArmorContext context)
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/RedissonL4SafeLoader.java:168
↓ 3 callersMethodgetType
配置源类型标识 @return 类型名称(如 "nacos", "apollo", "local")
hotarmor-core/src/main/java/cn/bafuka/hotarmor/spi/ConfigSource.java:40
↓ 3 callersMethodinvalidateCache
只删除 Redis(用于手动触发) @param context 上下文信息
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/ConsistencyManager.java:38
↓ 3 callersMethodinvalidateCache
(HotArmorContext context)
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/impl/DefaultConsistencyManager.java:156
↓ 3 callersMethodloadFromSource
从数据源加载数据 @param joinPoint 切点 @param context 上下文 @param promoteToL1 是否晋升到 L1 @return 数据 @throws Throwable 异常
hotarmor-core/src/main/java/cn/bafuka/hotarmor/aspect/impl/DefaultHotArmorAspectHandler.java:141
↓ 3 callersMethodsetId
(Long id)
hotarmor-core/src/test/java/cn/bafuka/hotarmor/spel/DefaultSpelExpressionParserTest.java:263
↓ 2 callersMethodapplyRule
应用规则(首次加载) @param rule 规则
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/impl/DefaultRuleManager.java:424
↓ 2 callersMethodbuildCache
根据配置构建 Caffeine Cache @param config L1 配置 @return Caffeine Cache 实例
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/CaffeineL1CacheEngine.java:46
↓ 2 callersMethodbuildCounter
构建计数器缓存 @param config L2 配置 @return 计数器缓存
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/CaffeineL2NoiseFilter.java:52
↓ 2 callersMethodcreateEvaluationContext
创建 SpEL 求值上下文 安全说明:使用 SimpleEvaluationContext 替代 StandardEvaluationContext SimpleEvaluationContext 只允许访问属性和调用简单方法,不能执行任意代码, 有效防止 SpEL 表达式注入攻击 @param
hotarmor-core/src/main/java/cn/bafuka/hotarmor/spel/DefaultSpelExpressionParser.java:107
↓ 2 callersMethodgetAllRules
获取所有规则 @return 所有规则列表
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/RuleManager.java:46
↓ 2 callersMethodgetStats
获取缓存统计信息 @return 统计信息对象
hotarmor-core/src/main/java/cn/bafuka/hotarmor/core/CacheEngine.java:45
↓ 2 callersMethodhandleConfigChange
处理配置变更 @param config 配置内容
hotarmor-core/src/main/java/cn/bafuka/hotarmor/spi/impl/NacosConfigSource.java:134
↓ 2 callersMethodhandleEviction
处理缓存失效 @param context 上下文 @param delayedDelete 是否延迟双删 @param broadcast 是否广播
hotarmor-core/src/main/java/cn/bafuka/hotarmor/aspect/impl/DefaultHotArmorAspectHandler.java:293
↓ 2 callersMethodhandleInvalidate
处理缓存失效消息
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/impl/RedisBroadcastNotifier.java:213
↓ 2 callersMethodinvalidateResource
清空当前资源的所有缓存 @param resource 资源名称
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/L1CacheEngine.java:41
↓ 2 callersMethodloadRulesToSentinel
将所有规则加载到 Sentinel
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/SentinelL3HotspotDetector.java:101
↓ 2 callersMethodnotifyRuleAdded
通知规则添加
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/impl/DefaultRuleManager.java:555
↓ 2 callersMethodparseConfig
解析配置 @param config JSON 配置字符串 @return 规则列表
hotarmor-core/src/main/java/cn/bafuka/hotarmor/spi/impl/NacosConfigSource.java:159
↓ 2 callersMethodrebuildCache
重建指定资源的缓存实例(用于配置热更新) @param resource 资源名称 @param config 新的 L1 配置
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/CaffeineL1CacheEngine.java:64
↓ 2 callersMethodrebuildCounter
重建计数器(用于配置热更新) @param resource 资源名称 @param config 新的 L2 配置
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/CaffeineL2NoiseFilter.java:68
↓ 2 callersMethodregisterListener
注册或重新注册内部监听器 每次设置新的 listener 时都要重新注册,确保监听器持有最新的引用
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/impl/RedisBroadcastNotifier.java:140
↓ 2 callersMethodreset
重置计数器(用于规则更新) @param resource 资源名称
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/L2NoiseFilter.java:25
↓ 2 callersMethodupdateRule
更新 Sentinel 规则 @param resource 资源名称 @param qpsThreshold QPS 阈值 @param durationInSec 统计时长
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/L3HotspotDetector.java:26
↓ 2 callersMethodvalidateRule
验证规则配置 @param rule 规则 @throws IllegalArgumentException 如果规则无效
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/impl/DefaultRuleManager.java:257
↓ 1 callersMethodaddListener
添加规则变更监听器 @param listener 监听器
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/impl/DefaultRuleManager.java:245
↓ 1 callersMethodcalculateDelayLevel
计算 RocketMQ 延迟级别 延迟级别对应关系: 1=1s, 2=5s, 3=10s, 4=30s, 5=1m, 6=2m, 7=3m, 8=4m, 9=5m, 10=6m, 11=7m, 12=8m, 13=9m, 14=10m, 15=20m, 16=30m, 17=1h, 18=2h @
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/impl/RocketMQDelayedDeleteProducer.java:79
↓ 1 callersMethodclearAll
()
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/impl/DefaultRuleManager.java:216
↓ 1 callersMethoddeleteImmediately
立即删除(第一次删除) @param context 上下文信息
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/DelayedDeleteProducer.java:24
↓ 1 callersMethoddetermineFailureReason
根据异常类型判断失败原因 @param e 异常 @return 失败原因
hotarmor-core/src/main/java/cn/bafuka/hotarmor/aspect/impl/DefaultHotArmorAspectHandler.java:203
↓ 1 callersMethodgetAllCaches
获取所有缓存实例(用于监控) @return 缓存实例映射
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/CaffeineL1CacheEngine.java:159
↓ 1 callersMethodgetCurrentConfig
()
hotarmor-core/src/main/java/cn/bafuka/hotarmor/spi/impl/LocalYamlConfigSource.java:48
↓ 1 callersMethodgetLockKey
获取分布式锁的键 @param context 上下文 @return 锁键
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/RedissonL4SafeLoader.java:238
↓ 1 callersMethodgetProductById
根据ID查询商品
hotarmor-example/src/main/java/cn/bafuka/hotarmor/example/controller/ProductController.java:27
↓ 1 callersMethodgetReason
()
hotarmor-core/src/main/java/cn/bafuka/hotarmor/exception/HotArmorLoadException.java:36
↓ 1 callersMethodgetRedisKey
获取 Redis 键名 @param context 上下文信息 @return Redis 键
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/L4SafeLoader.java:54
↓ 1 callersMethodgetRule
根据资源名称获取规则 @param resource 资源名称 @return 规则配置,不存在返回 null
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/RuleManager.java:39
↓ 1 callersMethodgetUserById
根据ID查询用户
hotarmor-example/src/main/java/cn/bafuka/hotarmor/example/controller/UserController.java:27
↓ 1 callersMethodhandleDelete
处理延迟删除消息 @param context 上下文信息
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/DelayedDeleteConsumer.java:21
↓ 1 callersMethodhandleLoadException
处理加载异常 @param e 加载异常
hotarmor-core/src/main/java/cn/bafuka/hotarmor/aspect/impl/DefaultHotArmorAspectHandler.java:244
↓ 1 callersMethodhandlePromote
处理热点晋升消息
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/impl/RedisBroadcastNotifier.java:224
↓ 1 callersMethodhandlePromotion
处理热点晋升(发送晋升广播) 当本地节点检测到热点并晋升到L1后,通知其他节点也晋升 @param context 上下文信息 @param value 缓存值(可选)
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/ConsistencyManager.java:31
↓ 1 callersMethodhitRate
计算命中率 @return 命中率(0.0 ~ 1.0)
hotarmor-core/src/main/java/cn/bafuka/hotarmor/core/CacheStats.java:28
↓ 1 callersMethodinitialize
()
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/impl/DefaultRuleManager.java:79
↓ 1 callersMethodinitialize
()
hotarmor-core/src/main/java/cn/bafuka/hotarmor/autoconfigure/HotArmorAutoConfiguration.java:251
↓ 1 callersMethodinitialize
初始化方法(可选)
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/SentinelL3HotspotDetector.java:127
↓ 1 callersMethodinitialize
()
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/impl/DefaultConsistencyManager.java:77
↓ 1 callersMethodinvalidate
使指定键的缓存失效 @param context 上下文信息
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/L1CacheEngine.java:34
↓ 1 callersMethodinvalidate
创建失效消息
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/BroadcastMessage.java:54
↓ 1 callersMethodloadRules
加载规则(首次加载或全量更新) @param rules 规则列表
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/RuleManager.java:23
↓ 1 callersMethodneedRebuildL1
判断是否需要重建 L1 缓存 @param oldConfig 旧配置 @param newConfig 新配置 @return true 需要重建
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/impl/DefaultRuleManager.java:508
↓ 1 callersMethodneedRebuildL2
判断是否需要重建 L2 计数器 @param oldConfig 旧配置 @param newConfig 新配置 @return true 需要重建
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/impl/DefaultRuleManager.java:526
↓ 1 callersMethodneedUpdateL3
判断是否需要更新 L3 规则 @param oldConfig 旧配置 @param newConfig 新配置 @return true 需要更新
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/impl/DefaultRuleManager.java:542
↓ 1 callersMethodnotifyRuleRemoved
通知规则删除
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/impl/DefaultRuleManager.java:581
↓ 1 callersMethodnotifyRuleUpdated
通知规则更新
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/impl/DefaultRuleManager.java:568
↓ 1 callersMethodonInvalidate
处理缓存失效事件 @param context 上下文信息
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/InvalidationListener.java:16
↓ 1 callersMethodonPromote
处理热点晋升通知 @param context 上下文信息 @param value 缓存值(可选,可能为null)
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/PromotionListener.java:17
↓ 1 callersMethodonRuleAdded
规则添加时触发 @param rule 新增的规则
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/RuleChangeListener.java:16
↓ 1 callersMethodonRuleRemoved
规则删除时触发 @param rule 被删除的规则
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/RuleChangeListener.java:32
↓ 1 callersMethodonRuleUpdated
规则更新时触发 注意:这里可能是参数微调(热更新)或结构变化(需要重建实例) @param oldRule 旧规则 @param newRule 新规则
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/RuleChangeListener.java:25
↓ 1 callersMethodpromote
创建晋升消息
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/BroadcastMessage.java:61
↓ 1 callersMethodpublish
发布缓存失效消息 @param context 上下文信息
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/BroadcastNotifier.java:16
↓ 1 callersMethodpublishPromotion
发布热点晋升消息 通知其他节点将指定key晋升到L1缓存 @param context 上下文信息 @param value 缓存值(可选,如果为null则其他节点需要自行加载)
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/BroadcastNotifier.java:25
↓ 1 callersMethodputToRedis
将数据写入 Redis @param context 上下文信息 @param value 要缓存的值
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/L4SafeLoader.java:39
↓ 1 callersMethodputToRedis
(HotArmorContext context, V value)
hotarmor-core/src/main/java/cn/bafuka/hotarmor/dataplane/impl/RedissonL4SafeLoader.java:186
↓ 1 callersMethodremoveRule
删除规则 @param resource 资源名称
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/RuleManager.java:53
↓ 1 callersMethodremoveRule
(String resource)
hotarmor-core/src/main/java/cn/bafuka/hotarmor/control/impl/DefaultRuleManager.java:195
↓ 1 callersMethodsendDelayedDelete
发送延迟删除消息 @param context 上下文信息 @param delayTimeMs 延迟时间(毫秒)
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/DelayedDeleteProducer.java:17
↓ 1 callersMethodsetName
(String name)
hotarmor-core/src/test/java/cn/bafuka/hotarmor/spel/DefaultSpelExpressionParserTest.java:271
↓ 1 callersMethodshutdown
关闭一致性管理器
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/ConsistencyManager.java:43
↓ 1 callersMethodshutdownDelayedDeleteScheduler
优雅关闭延迟删除调度器
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/impl/DefaultConsistencyManager.java:218
↓ 1 callersMethodstart
启动消费者
hotarmor-core/src/main/java/cn/bafuka/hotarmor/consistency/DelayedDeleteConsumer.java:14
next →1–100 of 307, ranked by callers