缓存在日常开发中起到至关重要的作用,由于是存储在内存中,数据的读取速度是非常快的,能大量减少对数据库的访问,减少数据库的压力。我们把缓存分为两类:
(1) 分布式缓存,例如Redis。
- 优点:存储容量更大、可靠性更好、可以在集群间共享
- 缺点:访问缓存有网络开销
- 场景:缓存数据量较大、可靠性要求较高、需要在集群间共享
(2) 进程本地缓存,例如HashMap和GuavaCache。
- 优点:读取本地内存,没有网络开销,速度更快
- 缺点:存储容量有限、可靠性较低、无法共享
- 场景:性能要求较高,缓存数据量较小
这一小节将会带领大家学习如何利用Caffeine框架来实现JVM进程缓存。
1.1 Caffeine介绍
Caffeine是一个基于Java开发的,提供了近乎最佳命中率的高性能的缓存库ÿ