我在mybatis中写了很多查询。有什么方法可以缓存答案?
例如,
SELECT * FROM someFun(#{someId})
要么
SELECT count(*) FROM someFun(#{someId})
换句话说,我搜索只缓存这些我想要缓存的查询的方法(类似于注释,可能?)
当然,缓存应该取决于参数,e.q。 XML
中的一些查询,但应重新计算不同的参数,
例如:
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
有什么想法吗?
答案 0 :(得分:0)
您可以选择queries to cache以及您希望cache to flush的时间间隔。
两个选项均已记录在案。 在select和flushInterval上查找缓存
上的useCache答案 1 :(得分:0)
您可以使用MyBatis 3缓存服务。只需将以下标记添加到您的映射器文件中即可。
<cache/>
您可以自定义缓存的运行方式。如果您要在10分钟后刷新缓存,请在映射器文件中添加以下代码。
<cache flushInterval="60000"/>
还有其他可用的自定义选项,您可以在MyBatis Cache上查看