【缓存】如何优雅地使用缓存

具体请参考原文1。本文为阅读笔记、自己实验。

收获

  1. 进程缓存+分布式缓存构成的二级缓存在性能和可维护性上都较好。
  2. 进程缓存的缺点,只在应用所在的服务器生效,该缺点可以通过如Redis的pub/sub对进程缓存进行删除来解决。

感兴趣的点

1、Redis的pub/sub

实验

1、Caffeine+Redis构成的二级缓存,并通过Redis的pub/sub对进程缓存进行删除


  1. https://juejin.cn/post/6844903665845665805 ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
让一个 Java 程序优雅地一直保持监听状态,需要注意以下几点: 1. 使用优秀的框架:选择一个稳定、易用的框架可以大大减少程序的开发难度和出错率。例如,Spring Boot 框架提供了很多功能强大的组件,可以快速搭建一个稳定的、可维护的服务。 2. 使用多线程:使用多线程可以充分利用系统资源,提高程序的并发处理能力。可以使用线程池来管理线程,避免线程过多导致系统资源不足。 3. 使用优秀的消息队列:使用消息队列可以有效地解耦程序的各个部分,提高系统的可靠性和可维护性。例如,使用 RabbitMQ 或者 Kafka 可以轻松地实现消息的异步处理和分布式部署。 4. 优化程序性能:对程序进行性能优化可以提高程序的吞吐量和响应速度。例如,使用缓存、降低数据库访问次数等。 下面是一个示例代码,使用了 Spring Boot 和 RabbitMQ 来实现一个优雅地一直保持监听状态的程序: ```java @EnableRabbit @SpringBootApplication public class Application { private static final String QUEUE_NAME = "testQueue"; @Autowired private RabbitTemplate rabbitTemplate; @RabbitListener(queues = QUEUE_NAME) public void handleMessage(String message) { System.out.println("Received message: " + message); } public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean public ConnectionFactory connectionFactory() { CachingConnectionFactory connectionFactory = new CachingConnectionFactory("localhost"); connectionFactory.setUsername("guest"); connectionFactory.setPassword("guest"); return connectionFactory; } @Bean public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) { RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory); rabbitTemplate.setQueue(QUEUE_NAME); return rabbitTemplate; } } ``` 在上面的代码使用了 Spring Boot 和 RabbitMQ 来实现一个优雅地一直保持监听状态的程序。使用了 Spring Boot 的自动配置功能,可以快速搭建一个稳定的、可维护的服务。同时,使用 RabbitMQ 来处理消息,可以轻松地实现异步处理和分布式部署。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值