此时,我正在使用mybatis
的默认缓存系统。
我的意思很简单:映射器文件中的<cache/>
。
但是,我注意到mybatis提供了各种不同的缓存。
Can you tell me if it is good idea to change default mybatis to
memcached or
ehcache`?或者也许存在另一个
mybatis的开箱即用框架?
更准确地说,我认为我可以从中受益?提高效率?
我的附加要求(我的默认mybatis缓存不满足)是:
在mapper中我(它比实际情况更简单,但它给出了很好的直觉)。
<mapper>
<cache/>
<select>
SELECT * FROM myFun(#{name})
<!-- it is cached -->
</select>
<insert> <!-- it flushes cache (*) -->
INSERT INTO ...
VALUES
<foreach item="iter">
(#{name}, #{iter})
</foreach>
</insert>
</mapper>
我理解为什么要刷新缓存。然而,
是否可以仅在重复参数name
的情况下刷新此缓存?
假设我们使用name=John
缓存了select的结果,
然后让某人用name=Tom
插入值。现在,缓存将被刷新,
我想只刷新缓存SELECT * FROM myFun('Tom')
查询的查询。