当前位置: 首页 > news >正文

完整生命周期示例

import cn.hutool.cache.impl.TimedCache; public class TimedCacheLifecycle { public static void main(String[] args) throws InterruptedException { // 1. 创建缓存,默认过期时间2秒 TimedCache<String, String> cache = new TimedCache<>(2000); // 2. 启动定时清理,每1秒一次 cache.schedulePrune(1000); // 3. 添加数据 cache.put("short", "短期数据", 1000); // 1秒过期 cache.put("medium", "中期数据", 3000); // 3秒过期 cache.put("long", "长期数据"); // 默认2秒过期 // 4. 监控状态 for (int i = 0; i < 5; i++) { System.out.println("\n=== 第 " + (i+1) + " 秒 ==="); System.out.println("缓存大小: " + cache.size()); System.out.println("short: " + cache.get("short")); System.out.println("medium: " + cache.get("medium")); System.out.println("long: " + cache.get("long")); Thread.sleep(1000); } // 5. 清理资源 cache.clear(); cache.cancelPruneSchedule(); } }

回到顶部

🎯 总结

TimedCache的自动清理机制

  1. 不会立即自动清理:默认只有惰性清理
  2. 需要手动启动定时清理:通过schedulePrune()方法
  3. 清理策略可配置:可以根据业务需求选择清理频率

最佳实践:在创建TimedCache后立即调用schedulePrune(),以确保过期数据会被及时清理,避免内存泄漏问题。

public final class LocalCacheUtil { private static TimedCache<String, Object> timedCache = new TimedCache<>(DAYS.toMillis(1)); static { // init prune schedule at fix rate timedCache.schedulePrune(MINUTES.toMillis(3)); } ... }
http://www.gsyq.cn/news/1603822.html

相关文章:

  • 升到 Spring Boot 4.1,虚拟线程开了,HikariCP 连接池却崩了
  • 架构选型与规划
  • JMeter WebSocket插件实战:从功能到性能的完整测试方案
  • 如何进入状态
  • 五脏养生别瞎补!老中医总结的先后顺序,照着养少走弯路
  • 3分钟上手FunClip:如何用AI智能剪辑让视频处理效率提升10倍?
  • QEMU安全配置:虚拟机隔离、权限控制与安全最佳实践
  • 【共创季稿事节】鸿蒙 ArkTS 安全区布局完全指南:SafeArea、expandSafeArea 与 Web 适配实战
  • 从IO 500双登顶出发,中国存储领跑AI新周期
  • 02 如何解决粘包问题
  • 2026年银行全员营销新变局:当任务完成率统计成为“硬指标”,哪套系统真正能落地?
  • AI视频生成神器Pixelle-Video:3分钟让普通人变身视频创作高手
  • 地产三维动画制作公司怎么选:从技术路线到交付保障的完整决策框架
  • 3步掌握CDS API:解锁全球气象数据的Python神器
  • Pytest测试用例精准执行:从命令行筛选到CI/CD集成的完整指南
  • 第5章-与HTTP协作的Web服务器
  • 2026滨州黄金回收白银回收铂金回收旧料回收怎么选?五家高实价铂金白银线下门店测评清单 + 联系方式
  • 产品无人问津?五大采用障碍及Baklib AI知识库破局之道
  • 【学术导航】从SCI分区到IEEE Fellow:解码科研评价体系的核心指标与进阶路径
  • 【限时决策框架】:用3分钟完成你的ChatGPT付费评估——含自测清单+成本分摊计算器(仅开放72小时)
  • 全新强化学习框架 BeautyGRPO:重塑真实人像
  • 这个项目是做什么的
  • [MAF预定义ChatClient中间件-01]LoggingChatClient——在调用LLM前后输出日志
  • 通用PLM根本撑不住!汽车/芯片/新能源研发的痛,它懂[特殊字符]全星研发项目管理APQP软件系统来救场
  • 评估模块(EVM)使用指南:规避法律风险与安全合规要点
  • FDE课程: Codex+AI 编程+ SeedanceAI 视频+ AgentAI 智能体
  • 汉明码编码译码推演与验证(P124302158李晨雨)
  • C#摸鱼实录——IoC与DI案例详解
  • FanControl终极指南:三步搞定Windows风扇智能控制
  • DLSS Swapper:终极游戏性能优化指南,告别卡顿从版本管理开始