java 缓存作用_java在线学习-mybatis的缓存类及作用

图灵学院  java在线学习-mybatis的缓存类及作用

1.缓存的作用

mybatis缓存的作用就是提升查询的效率和减少数据库的压力。

1605857814939462.jpg

2.mybatis的缓存类

mybatis缓存相关的类都在cache包里面,有个Cache的接口,默认实现是PerpetualCache类。当然,还有一些其他缓存类,是通过装饰器模式实现的。我们来看下包结构:

然后看下这些缓存类的作用:

PerpetualCache:基本缓存类,默认实现。

LruCache:LRU策略的缓存,作用是当缓存到达上限时候,删除最近最少使用的缓存。

FifoCache:FIFO策略的缓存,作用是当缓存到达上限时候,删除最先入队的缓存。

SoftCache:带清理策略的缓存,作用是通过JVM的软引用来实现缓存,当JVM内存不足时,会自动清理掉这些缓存。

WeakCache:带清理策略的缓存,作用是通过JVM的弱引用来实现缓存,当JVM内存不足时,会自动清理掉这些缓存。

LoggingCache:带日志功能的缓存。

SynchronizedCache:同步缓存,基于synchronized关键字实现,作用是解决并发问。

BlockingCache:阻塞缓存,通过在get/put方式中加锁,保证只有一个线程操作缓存,基于Java重入锁实现

SerializedCache:支持序列化的缓存,将对象序列化以后存到缓存中,取出时反序列化。

ScheduledCache:定时调度的缓存,在进行get/put/remove/getSize等操作前,判断缓存时间是否超过了设置的最长缓存时间(默认是一小时),如果是则清空缓存--即每隔一段时间清空一次缓存。这个有点像redis设置的超时时间。

TransactionalCache:事务缓存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值