MyBatis 第九课 二级缓存小结

1.二级缓存的应用场景:
a.对查询频率较高的,变换频率较低的数据建议用二级缓存。
b.对查询频率比较高且用户对数据的实时性要求不高的场景,比如:耗时较高的统计分析,电话账单sql的查询
通过设置缓存的刷新时间间隔flushInterval每隔一段时间自动清空缓存。


2.避免使用二级缓存
针对一个表的某些操作不在它独立的namespace下进行。

多表操作不能使用缓存。


1. 只能在【只有单表操作】的表上使用缓存


不只是要保证这个表在整个系统中只有单表操作,而且和该表有关的全部操作必须全部在一个namespace下。


2. 在可以保证查询远远大于insert,update,delete操作的情况下使用缓存


这一点不需要多说,所有人都应该清楚。记住,这一点需要保证在1的前提下才可以!


避免使用二级缓存 

二级缓存带来的好处远远比不上他所隐藏的危害。


缓存是以namespace为单位的,不同namespace下的操作互不影响。


insert,update,delete操作会清空所在namespace下的全部缓存。


通常使用MyBatis Generator生成的代码中,都是各个表独立的,每个表都有自己的namespace。


为什么避免使用二级缓存


在符合【Cache使用时的注意事项】的要求时,并没有什么危害。


其他情况就会有很多危害了。


针对一个表的某些操作不在他独立的namespace下进行。


例如在UserMapper.xml中有大多数针对user表的操作。但是在一个XXXMapper.xml中,还有针对user单表的操作。


这会导致user在两个命名空间下的数据不一致。如果在UserMapper.xml中做了刷新缓存的操作,在XXXMapper.xml中缓存仍然有效,如果有针对user的单表查询,使用缓存的结果可能会不正确。


更危险的情况是在XXXMapper.xml做了insert,update,delete操作时,会导致UserMapper.xml中的各种操作充满未知和风险。


有关这样单表的操作可能不常见。但是你也许想到了一种常见的情况。


多表操作一定不能使用缓存
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值