文章目录
- 理论
- 使用
理论
🍎缓存缓存是提升系统性能的一个不可或缺的工具,通过缓存可以避免大部分重复的请求到数据库层,减少IO链接次数,进而提升整体的响应速率;缓存工具可以分为本地缓存(如Caffeine)和分布式缓存(如Redis),优先使用本地缓存,一般情况下使用分布式缓存有点大材小用;
🍎Caffeine
定义:是一个现代化的 Java 缓存库,设计用于提供高性能和可伸缩性的本地缓存解决方案。是一种自带存储和移除策略的Map;适用于高并发以及快速访问数据的场景,因为内部实现了基于 ConcurrentHashMap 的数据结构,从而保证并发访问时的线程安全和高性能。
优点:使用caffeine做本地缓存,取数据可以达到微秒的级别,通常一次取数据用时不足1毫秒;支持并发,与ConcurrentMap很像,并且支持O(1)时间复杂度的数据存取;二者的主要区别在于: ConcurrentMap将存储所有存入的数据,直到显式将其移除; Caffeine将通过给定的配置,自动移除“不常用”的数据,以保持内存的合理占用。