缓存在日常开发中起着至关重要的作用,由于是存储在内存中,数据的读取速度非常快,能大量减少对数据库的访问,减少数据库的压力,我们把缓存分为两种:
分布式缓存:
优点:存储容量更大,可靠性更好,可以在集群间共享
缺点:访问缓存有网络开销
场景:在缓存数据量较大时,可靠性要求较高时,需要在集群间共享数据时
进程本地缓存:
优点:读取本地内存,没有网络开销,速度更快
缺点:存储容量有限,可靠性较低,不能共享
场景:缓存数据量较小,性能要求较高
caffeine是一个基于java8开发的,提供了近乎最佳命中率的高性能的本地缓存库,目前Spring内部使用的缓存就是caffeine