首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mybatis中缓存查询-可能的方法

在mybatis中缓存查询-可能的方法
EN

Stack Overflow用户
提问于 2017-09-27 00:15:19
回答 2查看 5.4K关注 0票数 1

我有很多问题是用mybatis写的。缓存答案的可能方法有哪些?例如,SELECT * FROM someFun(#{someId})SELECT count(*) FROM someFun(#{someId})

换句话说,我搜索只缓存这些我想缓存的查询的方法(可能像注释?)当然,缓存应该依赖于参数,e.q。XML中的一些查询,但参数不同,需要重新计算,例如:

代码语言:javascript
复制
SELECT count(*) FROM someFun(2) -- compute
SELECT count(*) FROM someFun(2) -- cache
SELECT count(*) FROM someFun(2) -- cache
SELECT count(*) FROM someFun(3) -- compute
SELECT count(*) FROM someFun(2) -- cache
SELECT count(*) FROM someFun(3) -- cache

....
10 minuts
....
SELECT count(*) FROM someFun(3) -- compute
SELECT count(*) FROM someFun(2) -- compute
SELECT count(*) FROM someFun(3) -- cache
SELECT count(*) FROM someFun(2) -- cache

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2017-09-27 01:35:14

当你想要你的cache to flush时,你可以选择queries to cache和间隔。

这两个选项都有文档记录。在select上查找useCache,在缓存上查找flushInterval

票数 2
EN

Stack Overflow用户

发布于 2019-10-30 14:09:13

您可以使用MyBatis 3缓存服务。只需在您的映射器文件中添加以下标记即可。

代码语言:javascript
复制
<cache/>

您可以自定义缓存的操作方式。在您的示例中,如果希望缓存在10分钟后刷新,请在映射器文件中添加以下代码。

代码语言:javascript
复制
<cache flushInterval="60000"/>

您可以在MyBatis Cache上查看其他可用的自定义选项

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46431345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档