缓存系列(一):什么是缓存

1、缓存定义

存储在计算机上的一个原始数据复制集,以便于访问。

2、不同种类缓存

(1)本地缓存
本地缓存和应用同属于一个进程,使用不当会影响服务稳定性,所以通常需要考虑更多的因素,例如容量限制、过期策略、淘汰策略、自动刷新等。常用的本地缓存方案有:
1)根据HashMap自实现本地缓存
缓存的本质就是存储在内存中的KV数据结构,对应的就是jdk中的HashMap,但是要实现缓存,还需要考虑并发安全性、容量限制等策略
2)Guava Cache

3)Caffeine
Caffeine是基于java8实现的新一代缓存工具,缓存性能接近理论最优。
相比Guava Cache来说,Caffeine无论从功能上和性能上都有明显优势。同时两者的API类似,使用Guava Cache的代码很容易可以切换到Caffeine,节省迁移成本。需要注意的是,SpringFramework5.0(SpringBoot2.0)同样放弃了Guava Cache的本地缓存方案,转而使用Caffeine。
4)Encache

总结
从易用性角度,Guava Cache、Caffeine和Encache都有十分成熟的接入方案,使用简单。
从功能性角度,Guava Cache和Caffeine功能类似,都是只支持堆内缓存,Encache相比功能更为丰富
从性能上进行比较,Caffeine最优、GuavaCache次之,Encache最差(下图是三者的性能对比结果)
(2)分布式缓存
redis或者memcache

参考 缓存选型

3、不同级别缓存举例

各类缓存
(1)边缘缓存:Nginx应用服务器的缓存解决了热点数据的缓存问题
(2)应用级缓存:Redis分布式缓存集群减少了访问回源率
(3)平台级缓存:tomcat应用集群使用的缓存防止了相关缓存失效/崩溃之后的冲击。
(4)数据库缓存:提升数据库查询时的效率。
(5)公有云缓存服务:阿里云、百度都推出了基于Redis的云存储服务。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值