网站源码上传服务器了怎么做网站后台管理系统ie8用不了

张小明 2026/1/17 11:42:40
网站源码上传服务器了怎么做,网站后台管理系统ie8用不了,网站页面优化技巧,建筑人才网证书查询这个问题涉及到 MyBatis 一级缓存、事务隔离级别和数据库的并发控制。让我详细分析一下#xff1a;1. MyBatis 一级缓存的行为MyBatis 一级缓存#xff08;Local Cache#xff09;是 SqlSession 级别​ 的缓存#xff1a;在同一个 SqlSession 中执行相同的查询#xff0c;…这个问题涉及到 MyBatis 一级缓存、事务隔离级别和数据库的并发控制。让我详细分析一下1. MyBatis 一级缓存的行为MyBatis 一级缓存Local Cache是SqlSession 级别​ 的缓存在同一个 SqlSession 中执行相同的查询MyBatis 会返回缓存中的结果默认情况下一级缓存是开启的2. 重要结论不会失效原因如下2.1 MyBatis 一级缓存的失效条件MyBatis 一级缓存会在以下情况下失效执行了 INSERT/UPDATE/DELETE 操作调用了sqlSession.clearCache()方法执行了带有flushCachetrue的查询SqlSession 关闭但是其他线程的更新不会导致当前线程的 MyBatis 一级缓存失效因为一级缓存是 SqlSession 私有的。3. 实际演示代码Service public class DemoService { Autowired private SqlSessionFactory sqlSessionFactory; // 线程1在事务中循环查询 public void thread1Transaction() { SqlSession sqlSession sqlSessionFactory.openSession(TransactionIsolationLevel.READ_COMMITTED); try { for (int i 0; i 10; i) { // 每次查询都会从一级缓存获取 User user sqlSession.selectOne(com.example.mapper.UserMapper.selectById, 1L); System.out.println(Thread1 - 查询结果: user.getCount()); Thread.sleep(5000); // 等待5秒 } } finally { sqlSession.close(); } } // 线程2更新数据 public void thread2Update() { SqlSession sqlSession sqlSessionFactory.openSession(); try { sqlSession.update(com.example.mapper.UserMapper.incrementCount, 1L); sqlSession.commit(); // 提交事务 } finally { sqlSession.close(); } } }4. 解决方案如果你希望看到其他线程的更新有以下几种方式4.1 关闭 MyBatis 一级缓存针对特定查询!-- 在mapper.xml中 -- select idselectById resultTypeUser flushCachetrue SELECT * FROM user WHERE id #{id} /select4.2 手动清除缓存// 在查询前清除缓存 sqlSession.clearCache(); User user sqlSession.selectOne(com.example.mapper.UserMapper.selectById, 1L);4.3 使用不同的 SqlSession// 每次查询创建新的 SqlSession for (int i 0; i 10; i) { try (SqlSession newSession sqlSessionFactory.openSession()) { User user newSession.selectOne(com.example.mapper.UserMapper.selectById, 1L); System.out.println(查询结果: user.getCount()); } Thread.sleep(5000); }4.4 配置二级缓存不推荐用于此场景二级缓存是 Mapper 级别的可以被多个 SqlSession 共享但需要考虑同步问题。5. 事务隔离级别的影响即使 MyBatis 每次都去数据库查询事务隔离级别也会影响你看到的数据// 设置事务隔离级别为 READ_COMMITTED Transactional(isolation Isolation.READ_COMMITTED) public void queryInTransaction() { for (int i 0; i 10; i) { User user userMapper.selectById(1L); System.out.println(查询结果: user.getCount()); Thread.sleep(5000); } }事务隔离级别REPEATABLE_READMySQL默认同一事务中多次读取相同数据结果一致READ_COMMITTED可以读取到其他事务已提交的修改6. 推荐做法如果需要在长事务中看到其他线程的更新使用 READ_COMMITTED 隔离级别关闭 MyBatis 一级缓存​ 或每次查询前清空缓存或者使用新的 SqlSession 查询Transactional(isolation Isolation.READ_COMMITTED) public void queryWithLatestData() { for (int i 0; i 10; i) { // 方案1清空缓存 clearCacheAndQuery(); // 方案2新建SqlSession查询 queryWithNewSession(); Thread.sleep(5000); } }核心要点MyBatis 一级缓存只在当前 SqlSession 内有效其他线程的操作不会使其失效。如果需要看到最新数据需要主动绕过缓存机制。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

免费的创建个人网站青山做网站

知网AIGC率过高是当前很多学生和研究者在论文写作中遇到的普遍问题。别慌,只要掌握正确的方法,完全可以将AI生成痕迹有效降低,顺利通过检测。 一、知网AIGC检测原理是什么? 知网等平台通过以下方式判断内容是否由AI生成&#xf…

张小明 2026/1/7 14:35:54 网站建设

宣城网站seo诊断好的手机网站推荐

iOS个性化革命:Cowabunga Lite全方位定制指南 【免费下载链接】CowabungaLite iOS 15 Customization Toolbox 项目地址: https://gitcode.com/gh_mirrors/co/CowabungaLite 在iOS设备个性化领域,传统的越狱方式虽然功能强大,但风险高且…

张小明 2026/1/13 21:11:19 网站建设

设计网站的功能有哪些内容做网站到底需要什么

喜马拉雅音频下载完整教程:如何5分钟搞定VIP内容离线收听 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5 还在为喜马拉…

张小明 2026/1/7 17:08:07 网站建设

南昌智能建站模板wordpress更改图标

清华镜像源同步延迟?优先选用PyTorch-CUDA完整镜像 在深度学习项目开发中,你是否经历过这样的场景:刚想尝试 PyTorch 最新发布的 v2.7 版本,执行 pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple 却发现清华源还在…

张小明 2026/1/7 9:16:28 网站建设

做网站怎么防止被网警查到wordpress怎么修改每个网页的代码

核心AI降AIGC工具对比速览 工具名称 处理时间 适配检测平台 特色功能 适用场景 aibiye 20分钟 知网/格子达/维普 AIGC查重降重二合一 AI生成初稿优化 aicheck 20分钟 知网/格子达/维普 句式结构深度优化 混合AI内容处理 秒篇 20分钟 知网/格子达/维普 高频词…

张小明 2026/1/7 17:08:04 网站建设

苏州创建网站企业建站报价方案

百度搜索不到Qwen-Image?教你从HuggingFace镜像网站快速获取 在AIGC(生成式人工智能)席卷内容创作、广告设计和数字媒体的今天,文生图模型早已不再是“能画画就行”的玩具工具。越来越多的企业与开发者开始追求高精度、可编辑、多…

张小明 2026/1/8 20:06:42 网站建设