You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bucket4j集成Caffeine缓存时限流功能失效的问题求助

Bucket4j集成Caffeine缓存时限流功能失效的问题求助

大家好,我最近在项目里集成Bucket4j做接口限流,一开始用默认缓存(推测是JCache)的时候,限流功能是正常工作的,当时的配置如下:

spring:
  ...
  cache:
    cache-names: rate_limit_buckets
bucket4j:
  enabled: true
  filters:
    - cache-name: rate_limit_bucketss
      url: /api/notification-admin/images
      rate-limits:
        - cache-key: getRemoteAddr()
          bandwidths:
            - capacity: 1
              time: 100
              unit: seconds

但当我换成Caffeine作为缓存实现后,奇怪的问题出现了:应用能正常启动,但限流功能完全失效。更离谱的是,我把cache-name改成任意随机值,应用依然能启动,完全没有校验缓存名称是否存在的迹象。

(补充说明:如果我不指定Caffeine作为缓存类型,应用根本启动不起来,所以必须用Caffeine,但现在用了之后限流就彻底不起作用了。)

我试过好几种配置Caffeine的方式,比如写自定义配置类、借助caffeine-boot的自动化配置,但结果都差不多——要么限流完全不生效,要么看起来系统直接忽略了我配置的Caffeine参数。

有没有大佬能给我一些排查思路或者解决建议呀?谢谢大家!

备注:内容来源于stack exchange,提问作者user20918149

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 06:09:30