专栏名称: 芋道源码
纯 Java 源码分享公众号,目前有「Dubbo」「SpringCloud」「Java 并发」「RocketMQ」「Sharding-JDBC」「MyCAT」「Elastic-Job」「SkyWalking」「Spring」等等
目录
相关文章推荐
芋道源码  ·  提醒一下Java后端面试肚子里没墨水的人 ·  7 小时前  
芋道源码  ·  kafka ... ·  7 小时前  
java1234  ·  这招聘环境,绷不住了。。 ·  7 小时前  
java1234  ·  这招聘环境,绷不住了。。 ·  7 小时前  
芋道源码  ·  负载均衡 LVS vs Nginx ... ·  21 小时前  
芋道源码  ·  手把手教你实现一个Java Agent ·  昨天  
51好读  ›  专栏  ›  芋道源码

Redis+Caffeine 太强了!

芋道源码  · 公众号  · Java  · 2025-04-07 09:30

正文

请到「今天看啥」查看全文


  • 设计一个本地内存需要有什么功能
  • 本地缓存方案选型
  • 本地缓存问题及解决

  • 背景

    在高性能的服务架构设计中,缓存是一个不可或缺的环节。在实际的项目中,我们通常会将一些热点数据存储到Redis或Memcached 这类缓存中间件中,只有当缓存的访问没有命中时再查询数据库。在提升访问速度的同时,也能降低数据库的压力。

    随着不断的发展,这一架构也产生了改进,在一些场景下可能单纯使用Redis类的远程缓存已经不够了,还需要进一步配合本地缓存使用,例如Guava cache或Caffeine,从而再次提升程序的响应速度与服务性能。于是,就产生了使用本地缓存作为一级缓存,再加上远程缓存作为二级缓存的两级缓存架构。

    在先不考虑并发等复杂问题的情况下,两级缓存的访问流程可以用下面这张图来表示:

    基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

    • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro
    • 视频教程:https://doc.iocoder.cn/video/

    为什么要使用本地缓存

    • 本地缓存基于本地环境的内存,访问速度非常快,对于一些变更频率低、实时性要求低的数据,可以放在本地缓存中,提升访问速度
    • 使用本地缓存能够减少和Redis类的远程缓存间的数据交互,减少网络I/O开销,降低这一过程中在网络通信上的耗时






    请到「今天看啥」查看全文