持久层使用Ibatis,并开启动缓存
后台画面可用如下代码强制刷新(根据缓存ID来刷新,不传递缓存参数时,刷新所有缓存)
-
-
private SqlMapClient sqlMapClient;
-
-
public SqlMapClient getSqlMapClient() {
-
return sqlMapClient;
- }
-
-
public void setSqlMapClient(SqlMapClient sqlMapClient) {
-
this.sqlMapClient = sqlMapClient;
- }
-
-
public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request,
-
HttpServletResponse response) throws Exception {
-
String[] cacheModelIds = new String[] { "TBL_SELL.oneDayCache" };
-
-
-
if (cacheModelIds.length > 0) {
-
for (String cacheModelId : cacheModelIds) {
- sqlMapClient.flushDataCache(cacheModelId);
- }
-
} else {
-
- sqlMapClient.flushDataCache();
- }
-
return null;
- }
// spring注入
private SqlMapClient sqlMapClient;
public SqlMapClient getSqlMapClient() {
return sqlMapClient;
}
public void setSqlMapClient(SqlMapClient sqlMapClient) {
this.sqlMapClient = sqlMapClient;
}
public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
String[] cacheModelIds = new String[] { "TBL_SELL.oneDayCache" };
// 刷新指定缓存
if (cacheModelIds.length > 0) {
for (String cacheModelId : cacheModelIds) {
sqlMapClient.flushDataCache(cacheModelId);
}
} else {
// 刷新所有缓存
sqlMapClient.flushDataCache();
}
return null;
}
输出日志
- 13:57:44,250 DEBUG CacheModel:27 - Cache 'TBL_SELL.oneDayCache': flushed
http://www.iteye.com/topic/829263
分享到:
相关推荐
1. 配置缓存:在Mapper XML文件中,通过`<cache>`元素定义缓存配置,比如设置 eviction(驱逐策略)、flushInterval(刷新间隔)、size(最大容量)、readOnly(只读)等属性。 2. 映射缓存:在具体的SQL映射语句...
本文将详细介绍iBATIS中的缓存使用方法,包括缓存模型的配置、不同类型的缓存控制器以及如何在SQL映射文件中应用这些缓存设置。 #### 一、缓存的基本概念 缓存是存储数据的一种临时区域,目的是减少重复查询数据库...
通过设置 `remapResults="true"`,可以强制IBatis每次执行此查询时都重新生成字段映射信息,而不是使用缓存的字段信息。 Java层调用DAO的方法如下: ```java public void getResDataByCondition(Page page) { // ...
- **3.5.2 如何手工强制清除iBATIS高速缓存中保存的对象** - 可以通过调用`clearCache()`方法来实现。 - **3.5.3 OSCACHE基本使用及配置项说明** - OSCACHE利用操作系统的缓存机制,提供更高的性能。 - 配置项...
通过设置`flushCache="true"`,可以在某些操作(如插入、更新或删除)后强制清空相应的一级或二级缓存,确保缓存中的数据与数据库保持同步。 对于源码爱好者来说,研究iBATIS的缓存实现可以深入理解其内部的工作...
ibatis 数据缓存,讨论了ibatis 数据缓存方面的概念,即用法,用到ibatis 数据缓存的可以参考一下
ibatis缓存介绍 - 勇泽 - 博客园ibatis缓存介绍 - 勇泽 - 博客园ibatis缓存介绍 - 勇泽 - 博客园ibatis缓存介绍 - 勇泽 - 博客园
iBatis 数据缓存机制是提高数据库访问性能的重要手段,它允许将查询结果存储在内存中,以便后续相同查询能够快速获取数据,而无需每次都执行SQL查询。在深入理解iBatis的Cache概念之前,首先需要知道iBatis是一个轻...
iBatis 缓存配置策略是提高数据库查询性能的关键手段之一。iBatis 提供了本地缓存机制,用于存储查询结果集,减少不必要的数据库访问。以下是对iBatis缓存配置策略的深入解析: 首先,iBatis 的 Cache 键(key)是...
iBATIS,作为一个流行的数据访问框架,也提供了缓存功能来优化数据库查询。本文将详细介绍iBATIS缓存的概念、类型以及配置方法。 一.缓存介绍 缓存,简单来说,是为了减少对数据库的频繁访问,将常用数据存储在...
在iBatis中,缓存被划分为一级缓存和二级缓存。 1. **一级缓存**:也称为SqlSession级别的缓存,是默认开启的。当我们在同一个SqlSession中执行相同的SQL查询时,如果第一次查询的结果已经存在于缓存中,那么第二次...
osCache支持多种缓存失效策略,如定时刷新、手动清除等。 - 监控和性能优化:定期检查osCache的性能,如内存占用、缓存命中率等,以便进行优化调整。 总结来说,osCache是一个强大且灵活的缓存工具,它可以与...
Oscache.jar包 博文链接:https://dangzhao.iteye.com/blog/193572
ibatis 缓存 - 24小时学习网ibatis 缓存 - 24小时学习网ibatis 缓存 - 24小时学习网ibatis 缓存 - 24小时学习网ibatis 缓存 - 24小时学习网
在Spring+iBatis+Oracle体系中,缓存可以分为两种类型:一级缓存(本地缓存)和二级缓存。 一级缓存是iBatis默认提供的,它存在于SqlSession级别,同一SqlSession内的多次查询会共享结果,避免了重复的数据库访问。...