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

网站服务器是主机吗青海住房与建设厅网站

网站服务器是主机吗,青海住房与建设厅网站,家政网站制作,wordpress即时聊天缓存预热是指在 Spring Boot 项目启动时#xff0c;预先将数据加载到缓存系统#xff08;如 Redis#xff09;中的一种机制。 这里我给大家总结几个缓存预热的方案。 方案1#xff1a;使用启动监听事件实现缓存预热 可以使用 ApplicationListener 监听 ContextRefreshed…缓存预热是指在 Spring Boot 项目启动时预先将数据加载到缓存系统如 Redis中的一种机制。 这里我给大家总结几个缓存预热的方案。 方案1使用启动监听事件实现缓存预热 可以使用 ApplicationListener 监听 ContextRefreshedEvent 或 ApplicationReadyEvent 等应用上下文初始化完成事件在这些事件触发后执行数据加载到缓存的操作。 监听 ContextRefreshedEvent事件 Component public class CacheWarmer implements ApplicationListenerContextRefreshedEvent {Overridepublic void onApplicationEvent(ContextRefreshedEvent event) {// 执行缓存预热业务...cacheManager.put(key, dataList);} } 或监听 ApplicationReadyEvent 事件 Component public class CacheWarmer implements ApplicationListenerApplicationReadyEvent {Overridepublic void onApplicationEvent(ApplicationReadyEvent event) {// 执行缓存预热业务...cacheManager.put(key, dataList);} } 方案2使用 PostConstruct 注解实现缓存预热 在需要进行缓存预热的类上添加 Component 注解并在其方法中添加 PostConstruct 注解和缓存预热的业务逻辑具体实现代码如下 Component public class CachePreloader {Autowiredprivate YourCacheManager cacheManager;PostConstructpublic void preloadCache() {// 执行缓存预热业务...cacheManager.put(key, dataList);} } 方案3使用 CommandLineRunner 或 ApplicationRunner 实现缓存预热 CommandLineRunner 和 ApplicationRunner 都是 Spring Boot 应用程序启动后要执行的接口它们都允许我们在应用启动后执行一些自定义的初始化逻辑例如缓存预热。 CommandLineRunner 实现 Component public class MyCommandLineRunner implements CommandLineRunner {Overridepublic void run(String... args) throws Exception {// 执行缓存预热业务...cacheManager.put(key, dataList);} } ApplicationRunner 实现示例 Component public class MyApplicationRunner implements ApplicationRunner {Overridepublic void run(ApplicationArguments args) throws Exception {// 执行缓存预热业务...cacheManager.put(key, dataList);} } 注意CommandLineRunner 和 ApplicationRunner 区别 方法签名不同 CommandLineRunner 接口有一个 run(String… args) 方法它接收命令行参数作为可变长度字符串数组。ApplicationRunner 接口则提供了一个 run(ApplicationArguments args) 方法它接收一个 ApplicationArguments 对象作为参数这个对象提供了对传入的所有命令行参数包括选项和非选项参数的访问。 参数解析方式不同 CommandLineRunner 接口更简单直接适合处理简单的命令行参数。ApplicationRunner 接口提供了一种更强大的参数解析能力可以通过 ApplicationArguments 获取详细的参数信息比如获取选项参数及其值、非选项参数列表以及查询是否存在特定参数等。 使用场景不同 当只需要处理一组简单的命令行参数时可以使用 CommandLineRunner。对于需要精细控制和解析命令行参数的复杂场景推荐使用 ApplicationRunner。 方案4通过实现 InitializingBean 接口并重写 afterPropertiesSet 方法实现缓存预热 实现 InitializingBean 接口并重写 afterPropertiesSet 方法可以在 Spring Bean 初始化完成后执行缓存预热。 代码如下 Component public class CachePreloader implements InitializingBean {Autowiredprivate YourCacheManager cacheManager;Overridepublic void afterPropertiesSet() throws Exception {// 执行缓存预热业务...cacheManager.put(key, dataList);} } 总结 使用启动监听事件实现缓存预热 优点可以在应用完全启动之前执行可以确保缓存预热在所有依赖初始化完成之后进行。 缺点处理复杂需要对Spring的事件机制有一定了解。使用PostConstruct注解实现缓存预热 优点简单易用不需要额外的接口实现适用于简单的预热逻辑。 缺点对于复杂的预热逻辑可能会导致方法变得臃肿不易于维护。使用CommandLineRunner或ApplicationRunner实现缓存预热 优点非常灵活适合处理复杂的预热逻辑可以接受参数易于测试和扩展。 缺点可能不如PostConstruct直观对于非常简单的预热逻辑可能显得有些过度设计。通过实现InitializingBean接口并重写afterPropertiesSet方法实现缓存预热 优点这是Spring推荐的方式之一保证了bean的生命周期管理适合需要在属性注入完毕后进行初始化的场景。 缺点对于非Spring Bean的类不适用且对于简单的预热逻辑可能会觉得有些繁琐。 推荐 如果你的预热逻辑较为简单且希望保持代码简洁推荐PostConstruct注解。对于更复杂的情况尤其是需要接收参数或执行更复杂的业务逻辑时使用CommandLineRunner或ApplicationRunner会更加合适它提供了更多的灵活性和控制。如果你正在处理的是一个Spring Bean并且需要在属性注入完成后执行预热逻辑那么实现InitializingBean接口是标准且推荐的做法。 所以比较推荐后两种方案。
http://www.zqtcl.cn/news/251121/

相关文章:

  • 外国网站签到做任务每月挣钱1g内存vps 开电影网站
  • 营销型网站案例易网拓互联购物
  • 河南企业网站制作微信小程序如何做
  • 金坛住房和城乡建设局网站wordpress 需要授权吗
  • 个人理财的网站开发天津 公司网站建设
  • 做电脑游戏破解的网站大宗交易平台软件
  • 男女做暖暖视频免费网站网络营销策划案ppt
  • 普通网站 多大空间网站开发报告参考文献
  • 来宾住房和城乡建设网站pc网站建设哪
  • WordPress一键开启全站SSL东莞企业网站建设公司
  • 青海省公路建设管理局官方网站wordpress 加入地图
  • 建湖专业做网站的公司如何制作wordpress网站地图
  • 做自媒体查找素材的网站石家庄网站建设费用
  • 建立局域网网站怎么做外国网站
  • 绍兴专业网站建设公司网站seo设计
  • 开发网站需要多久建设银行招聘网站
  • 靖江 建设局网站安阳做网站的公司有哪些
  • 网站title在哪里用discuz做的门户网站
  • 郑州定制网站推广工具产品网络舆情管理
  • 个人网站的建设方法和过程七牛云存储代替WordPress
  • 网站应用网站开发android开发工具有哪些
  • 农业信息门户网站建设方案教做糕点的网站
  • 网站上的分享手机网站免费建设平台
  • 有哪个网站专业做漫画素材的wordpress显示问题
  • 网站开发工程师月薪网站网页设计培训机构
  • 专业网站运营备案名称网站名称
  • 盐城市建设局网站企业网站建设流程与方法 论文
  • 青岛信息推广网站营销自己的网站
  • wp博客 婚庆网站模板摄影网页面制作
  • 大型商城网站建设学计算机前端好就业吗