-
关于Mybats的缓存。0
Mybatis的缓存,在执行insert,update,delete语句时会自动清空缓存。
但是在一对多的情况下。为什么在多的一方执行插入删除更新时,不清空缓存?
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="xx.Dao.ServerInfoDao"> <cache eviction="FIFO" flushInterval="6000000" size="1024" readOnly="true" > </cache> <resultMap type="xx.Model.Server" id="ServersMap"> <id property="serverId" column="ServerId" /> <result property="ipAddress" column="IPAddress" /> <result property="serverName" column="ServerName" /> <collection property="positions" column="{id=ServerId,user=username}" select="getPositionsById"/> </resultMap> <resultMap type="xx.Model.ServerPosition" id="positionMap"> <id property="x1" column="x1" /> <id property="x2" column="x2" /> <result property="x" column="x" /> <result property="y" column="y" /> </resultMap> <select id="SelectServer" resultMap="ServersMap" statementType="CALLABLE"> SELECT * FROM ServerInfo </select> <select id="getPositionsById" resultMap="positionMap"> SELECT * FROM ServerPosition WHERE UserName=#{user} AND ServerId=#{id} </select> <insert id="InsertServer" statementType="CALLABLE" parameterType="xx.Model.Server"> INSERT INTO [ServerInfo]([ServerID],[IPAddress],[ServerName]) VALUES (#{serverId},#{ipAddress},#{serverName}); </insert> <update id="UpdateServer" statementType="CALLABLE" parameterType="xx.Model.Server"> UPDATE [ServerInfo] SET [ServerName] = #{serverName} [IPAddress] = #{ipAddress}, WHERE [ServerID] = #{serverId}; </update> <delete id="DeleteServer" statementType="CALLABLE" parameterType="java.lang.Integer" > DELETE FROM [ServerInfo] WHERE [ServerID] = #{serverId}; </delete> <insert id="InsertPosition" statementType="CALLABLE" > INSERT INTO ServerPosition SELECT #{0},#{1},#{2},#{3} </insert> <delete id="DeletePosition" statementType="CALLABLE" > DELETE FROM ServerPosition WHERE [x1]=#{0} AND [x2]=#{1} </delete> </mapper>
执行上面配置文件中的InsertPosition和DeletePosition没法清空缓存?这是为什么呢?2014年4月24日 17:37
目前还没有答案
相关推荐
浏览器缓存机制介绍与缓存策略剖析 浏览器缓存机制是指浏览器在请求资源时,对已经请求过的资源进行缓存,以便下次请求时可以直接从缓存中获取,从而提高页面加载速度和减少服务器的压力。本文将详细介绍浏览器缓存...
关于缓存的一点心得 1、缓存有页面缓存与数据缓存,页面缓存就是把显示的页面生成一个文件,数据缓存就是把数据生成一个文件,都有一个更新缓存的间隔时间,判断文件的修改时间或者生成时间的时间邮戳加上间隔时间的...
面试中缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级怎么解答 面试中缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级怎么解答 面试中缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级怎么解答
关于缓存的一些资料关于缓存的一些资料关于缓存的一些资料关于缓存的一些资料关于缓存的一些资料
EhCache EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 主要的特性有: 1. 快速. 2. 简单. 3. 多种缓存策略 4. 缓存数据有两级:内存和磁盘,因此无需担心容量...
C#编程中关于数据缓存的经验总结,需要考虑程序性能的值得看看。
主要给大家深入的介绍了关于MyBatis中一级缓存与二级缓存的相关资料,文中详细介绍MyBatis中一级缓存与二级缓存的工作原理及使用,对大家具有一定的参考性学习价值,需要的朋友们下面来一起看看吧。
缓存、缓存算法和缓存框架简介
EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是 Hibernate 中默认的 CacheProvider。Ehcache 是一种广泛使用的开源 Java 分布式缓存。主要面向通用缓存,Java EE 和轻量级容器。它具有内存和...
只有匹配的组件会被缓存 exclude: 字符串或正则表达式。任何匹配的组件都不会被缓存。 结合router缓存部分页面: 比较实用的例子: 思路:通过beforeRouterLeave这个钩子来对路由里面的keepAlive进行赋值。从而动态...
PHP 缓存PHP 缓存PHP 缓存PHP 缓存 PHP 缓存
关于APP清理缓存
* 缓存抽象类 */ abstract class Cache_Abstract { /** * 读缓存变量 * * @param string $key 缓存下标 * @return mixed */ abstract public function fetch($key); /** * 缓存变量 * * @...
Android WebView 缓存详解 一. 两种缓存类型: 页面缓存:加载一个网页时的html、JS、CSS等页面或者资源数据,这些缓存资源是由于浏览器 的行为而产生,开发者只能通过配置HTTP响应头影响浏览器的行为才能间接地...
"FPGA 图像处理中的行缓存设计" 基于 FPGA 的图像处理技术中,行缓存(Line Buffer)是一个非常重要的设计要素。行缓存的使用频繁出现于图像矩阵操作中,例如图像的均值滤波、 中值滤波、高斯滤波、Sobel 边缘查找...
hibernate一级缓存和二级缓存的区别与联系
Java利用ConcurrentHashMap实现本地缓存demo;...基本功能有缓存有效期、缓存最大数、缓存存入记录、清理线程、过期算法删除缓存、LRU算法删除、获取缓存值等功能。 复制到本地项目的时候,记得改包路径哦~
缓存、缓存算法和缓存框架简介 - 文章 - 伯乐在线.pdf 来自http://blog.jobbole.com/30940/
Java 两级缓存框架,可以让应用支持两级缓存框架 ehcache(Caffeine) + redis 。避免完全使用独立缓存系统所带来的网络IO开销问题。J2Cache 是 OSChina 目前正在使用的两级缓存框架(要求至少 Java 8)。第一级缓存...
/* 页面数据缓存 */ var _CACHE_OBJS = {}; function _init_cache(comp, key, cache) { var obj = cache[key]; if (obj !== undefined) { comp[key] = obj; } var deep = typeof comp[key] === 'object'; comp...