首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MyBatis进行批量预缓存

使用MyBatis进行批量预缓存
EN

Stack Overflow用户
提问于 2014-07-25 20:35:15
回答 1查看 310关注 0票数 0

我使用的是3.2.7版本的MyBatis,我想做的是在使用应用程序之前预先填充缓存,这样就可以启动了。

假设在实际应用中,我想搜索特定用户的信息:

代码语言:javascript
复制
<select id="selectSpecificUser" parameterType="int">
        SELECT  *
        FROM    users
        WHERE userid=#{id}
    </select>

所以当它被调用时,它将检查缓存,如果它不在那里,那么它将搜索数据库。有没有办法用这个表中的每条记录预加载这个缓存,这样当这个方法被调用时,它就会从缓存而不是从DB中提取它?

EN

回答 1

Stack Overflow用户

发布于 2014-07-29 09:43:51

尝试将以下标记添加到SQL映射文件中

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

这将在Mybatis中启用全局缓存,并且默认情况下应该在映射器文件中缓存来自SELECT语句的所有结果(取决于各种条件,包括LRU驱逐)。

您可以通过在加载映射器文件的程序的setup (或等效方法)中手动调用该SELECT语句来自己预热缓存(而不是等待用户发起的第一次调用)。

Mybatis Caching Info

该链接中还包含更改默认行为的信息,包括类型、大小和刷新间隔;如果您的需求非常特殊,还可以创建自定义缓存。

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

https://stackoverflow.com/questions/24955979

复制
相关文章

相似问题

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