JVM进程缓存:
也就是我们常说的缓存,也就是使用内存来进行数据的存储,大量的减少对数据的访问,从而提高性能的优化。分为两种:分布式缓存,本地缓存。
分布式缓存:Redis
本地缓存:HashMap,GuauaCahche,Caffeine(基于jdk1.8使用的)
我们来详细讲一下Caffeine使用:
新增数据并查询
(1)引入Caffenie的依赖。
(2)然后创建一个新的caffeine。
我们需要注意:就是caffeine不像redis这种分布式的缓存一样。数据只会在当个线程上存储下来的,如果想让其缓存的数据贯穿整个服务,需要使用ThreadLocal来进行记录(不使用springboot的情况下)。
案例:
缓存设置:
数据大少:
时间长短(多久会过期):
基于引用:设置缓存为软引用或弱引用,利用GC来回收缓存数据。性能较差,不建议使用。
如果我们先让其能过贯穿服务的话,我们就需要把其当成bean一样以单列模式注入到spring容器里面去,此时spring容器里面的Caffeine也就会是固定的缓存对象。