1:本地缓存: 内存,encache
2:分布式缓存:redis缓存
本地缓存,存储在本机内存上,直接从内存中取数据,速度快。 但是容量较小,数据结构不丰富。
分布式缓存:存储在很多机器上,可以从其它机器上取数据,容量大。 数据结构丰富等。
缓存穿透,删除,雪崩。
缓存穿透:大量访问不存在的键,所以每次都要访问数据库。 解决方法:值为null时,也放到缓存中,过期时间短一点,这样当改键有值时,能立刻读取。
redis缓存删除,惰性删除,当用到该缓存时,判断是否过期。 给对象设置长短时过期时间,放置缓存雪崩(缓存在同一时间失效)。