首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >mybatis缓存配置

mybatis缓存配置

作者头像
全栈程序员站长
发布于 2022-08-31 03:40:04
发布于 2022-08-31 03:40:04
67800
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。mybatis的缓存有三种方式: 1、一级缓存(基于SqlSession会话级别的; 2、二级缓存(基于nameSpace级别的,范围比以及缓存更广);

3、第三方缓存;

mybatis缓存使示意图:

一、一级缓存说明: 其中一级缓存是mybatis默认使用的缓存,无需手动配置,二级缓存需要手动配置; 一级缓存失效条件 1)sqlSession不同,由于一级缓存是基于sqlSession级别的,所以当使用不同sqlSession进行查询时缓存也不同; 2)sqlSession相同,手动清空一级缓存; 3)sqlSession相同,两次查询之间执行了增删改操作; 4)sqlSession相同,查询条件不同;

二、二级缓存相关配置: 步骤如下: 1)、开启缓存 在mybatis配置文件中设置启用缓存

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <settings>
    <setting name="cacheEnabled" value="true"/>
 </settings>

2)、使用缓存 在各个XXmapper.xml配置文件中加上

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<cache eviction="FIFO"  flushInterval="10800000"  size="512" readOnly="true" /> 

属性说明:

3)、相关的实体类bean对象需要实现序列号接口Serializable

通过以上配置mybatis二级缓存配置完成!

三、mybatis缓存相关属性设置: 在XXmapper.xml配置文件的各个增删改查节点中可以设置以下属性控制缓存; useCache:默认为true,当设置false时,则不使用二级缓存(对一级缓存没有影响); flushCache:在增删改标签中默认为true,即:进行增删改之后会自动清除一级、二级缓存内容; localCacheScpoe:本地缓存作用域,默认为SESSION即开启一级缓存,当设置为STATEMENT时则关闭一级缓存;

说明: 在一级缓存和二级缓存同时存在的情况下,查询出来的数据都会自动放到一级缓存中,只有当一级缓存提交或者关闭之后,数据才会转移到二级缓存中,也就是说这个时候才能从二级缓存中取到数据, 数据查询的时候会先查询二级缓存,再查询一级缓存,最后查询数据库

四、第三方缓存配置: Mybatis自身的缓存其实是很简陋的,其顶层接口为Cache,查看其具体实现,底层其实就是个Map数据结构而已,因此可以集成第三方缓存接口相关接口,进行数据缓存操作; 比如集成Ehcache,其实也就是实现了Cache接口,

具体配置如下:

1)、基础配置ehcache.xml(省略说明…)

2)、其它xml配置如下;

最后: 如果需要在命名空间中共享相同的缓存配置和实例,在这样的情况下你可以使用 cache-ref 元素来引用另外一个已经配置好的缓存。 即:在其他XXmapper.xml中配置缓存的引用, 如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<cache-ref namespace="com.x.x.x.XXXMapper"/>

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143373.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【python】蒙特卡洛树搜索(MCTS)简单实现
选择 Selection:从根节点 R 开始,递归选择最优的子节点(后面会解释)直到达到叶子节点 L。 扩展 Expansion:如果 L 不是一个终止节点(也就是,不会导致博弈游戏终止)那么就创建一个或者更多的字子节点,选择其中一个 C。 模拟 Simulation:从 C 开始运行一个模拟的输出,直到博弈游戏结束。 反向传播 Backpropagation:用模拟的结果输出更新当前行动序列。
全栈程序员站长
2022/07/21
2.7K0
【python】蒙特卡洛树搜索(MCTS)简单实现
读《Nature》论文,看AlphaGo养成
作者授权转载 作者:龙心尘、寒小阳 ◆ ◆ ◆ 文章声明 博主是围棋小白,下棋规则都记不清楚,也没有设计过棋类AI程序。这篇文章主要是阅读《Nature》论文及关于AlphaGo的相关文章的学习心得。 本文的主要目的是增进分享,交流学习,方便初学者了解AlphaGo中的算法,以及一些机器学习中的常见思路。真正的工程实现过程远比本文介绍得复杂。 本文更多是启发式地进行阐述与分析,包括一些作者结合自己的理解进行的简化处理。文章中不严谨和理解不当之处,欢迎大家批评指出,我们努力修改完善。 ◆ ◆ ◆ 围棋的业
大数据文摘
2018/05/24
7560
深度 | 升级版AlphaGo 5月决战柯洁,DeepMind揭秘计算机全新棋风
机器之心原创 参与:李泽南、李亚洲、吴攀 4 月 10 日下午,谷歌在北京的中国棋院召开新闻发布会,正式宣布 AlphaGo 将于今年 5 月 23 日在浙江乌镇对决以柯洁为代表的中国顶尖棋手。 据机
机器之心
2018/05/07
8250
深度 | 升级版AlphaGo 5月决战柯洁,DeepMind揭秘计算机全新棋风
【柯洁战败解密】AlphaGo Master最新架构和算法,谷歌云与TPU拆解
【新智元发自中国乌镇】乌镇人工智能峰会进入第二天,哈萨比斯、David Silver和Jeff Dean等谷歌高管纷纷发表演讲。他们对AlphaGo 2.0的新技术进行了详细解读。几位“谷歌人”纷纷提到一个关键词——TPU。Jeff Dean 甚至直接放出了与GPU的性能对比图。从昨天的赛后采访到今天的主旨演讲,哈萨比斯等人一直在强调TPU对新版本的AlphaGo的巨大提升。看来,TPU将会成为接下来一段时间内谷歌的战略重点,GPU要小心了。本文带来哈萨比斯、David Silver现场演讲报道(附PPT)
新智元
2018/03/28
1.5K0
【柯洁战败解密】AlphaGo Master最新架构和算法,谷歌云与TPU拆解
《自然》论文详解:AlphaGo 背后的深度神经网络和树搜索
Nature 封面论文:Mastering the game of Go with deep neural networks and tree search(通过深度神经网络和树搜索,学会围棋游戏) AlphaGo 给围棋带来了新方法,它背后主要的方法是 Value Networks(价值网络)和 Policy Networks(策略网络),其中 Value Networks 评估棋盘位置,Policy Networks 选择下棋步法。这些神经网络模型通过一种新的方法训练,结合人类专家比赛中学到的监督学习,
新智元
2018/03/14
4.4K0
《自然》论文详解:AlphaGo 背后的深度神经网络和树搜索
深入浅出解读并思考AlphaGo
;其次我们要想一下我们下了某一步之后局面会怎么变化,对方会怎么下,我们又怎么接着对方的棋往下下,我们把这种思考叫做思考的深度
CristianoC
2021/03/11
9530
深入浅出解读并思考AlphaGo
论文 | AlphaGo Zero 的模型和算法
上一篇文章简单学习了 AlphaGo Zero 的特点: AlphaGo Zero 初探 http://www.jianshu.com/u/7b67af2e61b3 算法采用自对弈强化学习,不再需要
杨熹
2018/04/03
8860
论文 | AlphaGo Zero 的模型和算法
强化学习(十九) AlphaGo Zero强化学习原理
    在强化学习(十八) 基于模拟的搜索与蒙特卡罗树搜索(MCTS)中,我们讨论了MCTS的原理和在棋类中的基本应用。这里我们在前一节MCTS的基础上,讨论下DeepMind的AlphaGo Zero强化学习原理。
刘建平Pinard
2019/04/01
1.7K0
强化学习(十九) AlphaGo Zero强化学习原理
超越蒙特卡洛树搜索:北大提出深度交替网络和长期评估围棋模型
选自arXiv 机器之心编译 参与:李泽南、吴攀 在五月底与柯洁等人的系列对局之后,人工智能围棋大师 AlphaGo 已经功成名就,金盆洗手了,参阅《现场报道 | AlphaGo 被授职业九段,DeepMind 将公开其所有版本细节》;但这并不意味着计算机围棋研究已经走到了尽头。近日,北京大学的一组研究团队宣称在计算机围棋研究上取得了另一个方向的研究成果。 和 AlphaGo 等目前领先的围棋程序不同,北京大学 Wang Jinzhuo、王文敏、王荣刚、高文等人提出的新方法没有使用蒙特卡洛树搜索,而是使用了
机器之心
2018/05/08
6450
超越蒙特卡洛树搜索:北大提出深度交替网络和长期评估围棋模型
专栏 | 阿尔伯塔大学李玉喜博士:我们应该如何面对强大的计算机围棋AlphaGo?
机器之心专栏 作者:李玉喜 AlphaGo 与世界第一的人类棋手柯洁的对弈比赛已经引起了全世界的广泛关注。不出意外,尽管柯洁表现出色,但 AlphaGo 仍然连续取得了两场胜利。明天柯洁还将与 AlphaGo 展开最后一场比赛,是否会出现意外惊喜,让我们拭目以待。最后的比赛之前,加拿大阿尔伯塔大学计算机系博士、博士后李玉喜撰写了一篇解读 AlphaGo 背后的技术以及讨论我们应该如何应对这些技术的文章。李玉喜博士致力于深度学习、强化学习、机器学习、人工智能等前沿技术及其应用。曾任电子科技大学副教授;在美国
机器之心
2018/05/07
1.2K0
专栏 | 阿尔伯塔大学李玉喜博士:我们应该如何面对强大的计算机围棋AlphaGo?
组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析
AlphaGo Zero是Deepmind 最后一代AI围棋算法,因为已经达到了棋类游戏AI的终极目的:给定任何游戏规则,AI从零出发只通过自我对弈的方式提高,最终可以取得超越任何对手(包括顶级人类棋手和上一代AlphaGo)的能力。换种方式说,当给定足够多的时间和计算资源,可以取得无限逼近游戏真实解的能力。这一篇,我们深入分析AlphaGo Zero的设计理念和关键组件的细节并解释组件之间的关联。下一篇中,我们将在已有的N子棋OpenAI Gym 环境中用Pytorch实现一个简化版的AlphaGo Zero算法。
CreateAMind
2020/10/22
1.9K0
组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析
最终一战柯洁再负AlphaGo,此后再无围棋人机大战
唐旭 舒石 发自 乌镇 量子位 报道 | 公众号 QbitAI 5月27日,人机大战第三场,天气晴朗。 经过209手的博弈,主动要求执白的柯洁再次负于AlphaGo。在这场人机大战中,世界围棋第一人0
量子位
2018/03/30
8410
详解强化学习多智能体博弈算法——蒙特卡洛树搜索
👆点击“博文视点Broadview”,获取更多书讯 强化学习,除了可以用于单个强化学习智能体和环境的相互作用,也可以用于两个或者多个智能体在某个强化学习环境下的博弈。 关于这种类型的算法,最有名的应该是蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)。 随着AlphaGo和AlphaZero算法在围棋、国际象棋和将棋等棋类领域的广泛应用,并且在这些领域内均取得了相比传统的Alpha-Beta 剪枝算法更加优异的性能,蒙特卡洛树搜索算法作为这些智能体使用的算法也被越来越多的人研究
博文视点Broadview
2022/03/30
3K0
学界 | 使用深度学习和树搜索进行从零开始的既快又慢的学习
选自UCL 作者:Thomas Anthony、Zheng Tian、David Barber 机器之心编译 参与:Nurhachu Null、刘晓坤 本文介绍了来自伦敦大学学院(UCL)Thomas Anthony、Zheng Tian 与 David Barber 的深度学习与树搜索研究。该论文已被 NIPS 2017 大会接收。 二元处理机制理论 「二元处理机制」认为,人类的推理包括两种不同种类的思考方法。如下图所示,系统 1 是一个快速的、无意识的、自动化的思考模式,它也被称为直觉。系统 2 是一个
机器之心
2018/05/10
9390
AlphaGo背后的力量:蒙特卡洛树搜索入门指南
选自int8 Blog 机器之心编译 我们都知道 DeepMind 的围棋程序 AlphaGo,以及它超越人类的强大能力,也经常会听到「蒙特卡洛树搜索」这个概念。事实上,蒙特卡洛树搜索是在完美信息博弈场景中进行决策的一种通用技术,除游戏之外,它还在很多现实世界的应用中有着广阔前景。本文中,我们会以 AlphaGo 为例子,对这一方法进行详细介绍。 长久以来,学术世界一直认为计算机在围棋这个复杂游戏上达到超越人类的水平是几乎无法实现的。它被视为人工智能的「圣杯」——一个我们原本希望在未来十年挑战的遥远里程碑。
机器之心
2018/05/08
1.6K0
AlphaGo背后的力量:蒙特卡洛树搜索入门指南
【专栏】谷歌资深工程师深入浅析AlphaGo Zero与深度强化学习
【新智元导读】AlphaGo的巨大成功掀起了围棋界三千年未有之大变局,也使得深度强化学习(Deep Reinforcement Learning)渐为大众熟悉。尤其是最新推出的AlphaGo Zero完全摒弃了人类知识,并且三天内碾压了早期版本的AlphaGo,更足显强化学习和深度学习结合的巨大威力。AlphaGo Zero的论文侧重于描述效果,对于方法的论述比较简短,没有相关背景的人读起来可能会有一些困难。本文对强化学习以及AlphaGo Zero算法做了详细描述。 作者简介:王晶,Google广告大数据
新智元
2018/03/21
1.6K0
【专栏】谷歌资深工程师深入浅析AlphaGo Zero与深度强化学习
1:2,李世石最后一战被AI击败,唯一战胜过AlphaGo的人退役了
12 月 21 日,全罗道新安郡曾岛 EI dorado 度假村,李世石在第 181 手投子认输。这是与 Handol 退役赛对战的最后一局,前两局,李世石一胜一负。最后一盘棋,还是惜败于 AI。
机器之心
2019/12/26
5820
1:2,李世石最后一战被AI击败,唯一战胜过AlphaGo的人退役了
DeepMind官方解密新版 AlphaGo 棋艺制胜奇招:价值网络把控通盘局面
【新智元导读】4月10日,中国棋院与谷歌在北京宣布,今年5月在“中国乌镇·围棋峰会”上AlphaGo升级版将与最顶尖的人类棋手进行对弈,世界冠军柯洁将出战。 随后,DeepMind CEO Demis Hassabis 在官方博客上撰文介绍了这一比赛和全新版的 AlphaGo,并强调 AlphaGo 不仅会下棋,在节约能源、医疗、翻译等方面也得到了应用。其团队详细也解读了AlphaGo 在围棋上的最新技术进步,包括策略和战略上的创新。 今天,中国围棋协会和浙江省体育局携手Google共同宣布,三方将联合主办
新智元
2018/03/27
7170
DeepMind官方解密新版 AlphaGo 棋艺制胜奇招:价值网络把控通盘局面
不只是围棋!AlphaGo Zero之后DeepMind推出泛化强化学习算法AlphaZero
选自arXiv 作者:David Silver等 机器之心编译 在 DeepMind 发表 Nature 论文介绍 AlphaGo Zero 之后,这家公司一直在寻求将这种强大算法泛化到其他任务中的可能性。昨天,AlphaGo 研究团队提出了 AlphaZero:一种可以从零开始,通过自我对弈强化学习在多种任务上达到超越人类水平的新算法。据称,新的算法经过不到 24 小时的训练后,可以在国际象棋和日本将棋上击败目前业内顶尖的计算机程序(这些程序早已超越人类世界冠军水平),也可以轻松击败训练 3 天时间的 A
机器之心
2018/05/09
7840
不只是围棋!AlphaGo Zero之后DeepMind推出泛化强化学习算法AlphaZero
AlphaGo的制胜秘诀:蒙特卡洛树搜索初学者指南
2018 区块链技术及应用峰会(BTA)·中国 倒计时 3 天 2018,想要follow最火的区块链技术?你还差一场严谨纯粹的技术交流会——2018区块链技术及应用峰会(BTA)·中国将于2018年3月30-31日登陆北京喜来登长城饭店。追求专业性?你要的这里全都有:当超强嘉宾阵容遇上业界同好的脑洞大联欢,1+1=无限可能,目前门票预购火热进行中。 活动详情: http://dwz.cn/7FI1Ch 编译 | reason_W 出品 | 人工智能头条(公众号ID:AI_Thinker) 长久以来,计算
用户1737318
2018/06/05
1.5K0
推荐阅读
相关推荐
【python】蒙特卡洛树搜索(MCTS)简单实现
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档