关于Mybatis缓存命中率的一己之见

影响缓存命中率的因素有很多,比如缓存太小,缓存的时间太短等都会影响缓存的命中率;但从本质上讲,影响缓存命中率的因素还是取决于缓存的粒度,缓存的粒度越小缓存的命中率也就越高,目前缓存粒度最小的是对象缓存(缓存粒度:在一些软件上,缓存粒度是可以自己设置的,而缓存粒度越小读取缓存的速度也就越快,当然这要视情况而论;比如说一个缓存粒度为512kb,而你只是需要读取一个4kb的缓存内容,那么由于缓存粒度关系,它会多读出508kb的缓存);而对于缓存来说,缓存命中率越高,缓存也就越好;在这里主要说的是Mybatis的缓存命中率一次测试,结果如下:


由上面的测试可以得出一个结论:缓存命中率与读取缓存次数有关,如果不考虑缓存的清除等因素,读取缓存的次数越多缓存命中率也就越高(这里还涉及到了权重比)

这里顺带缓存读取的优先级:采用就近原则,由于一级缓存是存在于内存之中,而二级缓存存在于内存或硬盘之中,所以优先从一级缓存进行查找,如果没有再进入二级缓存,以此类推;最后如果缓存中没有,再按照程序运行从数据库中读取。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值