Ibatis缓存
来源:互联网 发布:物理轨迹软件 编辑:程序博客网 时间:2024/06/06 01:52
当前,Hibernate和Ibatis是比较流行的持久层框架,二者有像是之处,又有很多不同的地方。熟悉Hibernate的程序员,刚开始接触Ibatis时很难理解它的缓存机制。Ibatis是一个半自动的持久层框架,它没有Hibernate那么智能。其缓存机制就能说明这一点。如果你使用可读写缓存,对数据库进行更新后,缓存并没有同时被更新,如果你需要在更新了数据库的同时,保证下次查询的时候,从缓存中读取的数据也是最新的,你就需要刷新缓存(flashOnExecute="methodName")。通过配置flashOnExecute,就可以在执行某一个方法时,刷新缓存(注意:这里说刷新缓存,并不是立即修改缓存,而是你下次访问的缓存的时候,缓存会去数据读取最新的数据)。.
Ibatis的缓存分为两种:只读缓存和可读写缓存。
所谓只读,只是说建议您在开发的时候,对于配置为只读的缓存,不要进行更新操作,这样可能会出现问题,比如可能会出现同步的问题,因为当您访问只读缓存的时候,框架直接将缓存中对象的引用返回给你,如果多个线程试图对其修改,就有可能出现同步问题。但是,如果你非要进行写操作,程序也不会抛出异常。配置只读缓存时,需要使用:
readOnly="true"
可读写缓存与只读缓存的区别是,当你访问缓存中的数据时,缓存会返回给你一个原数据的副本,而不是直接将原数据的引用返回给你。这样即使是多线程,由于各自用于一个完全一样的副本,也不回出现线程同步的问题。可读写缓存配置时需要使用:
readOnly="false"
默认情况下,Ibatis提供的是只读缓存。
另外,使用Ibatis的缓存时,你必须确定系统表的数据是有哪些方法来更新的,对这些方法配置flushOnExecute。如果你不能确定,或者数据库同时由其它系统共用,你不能完全控制数据何时被更新,就不能使用Ibatis提供的缓存机制,否则就会出现查询出不是最新数据的问题。
- ibatis 缓存
- Ibatis缓存
- ibatis缓存
- ibatis 缓存
- ibatis 缓存
- ibatis缓存
- Ibatis缓存
- ibatis缓存
- iBATIS缓存
- ibatis中使用缓存
- ibatis中使用缓存
- Ibatis缓存探秘
- ibatis 缓存 (cacheModel)
- 为ibatis配置缓存
- ibatis缓存(Catch Model)
- iBATIS缓存配置详解
- iBATIS缓存的使用方法
- IBatis 的缓存机制
- 福尔摩斯的bug
- RED5学习(一)--环境搭建与测试
- 给力的电子商务教程
- win32消息映射(1)
- 网站中qq在线交谈代码问题
- Ibatis缓存
- 代码
- 编程刷新explorer
- Ubuntu 添加右键打开终端
- C#初学者的一些牢骚
- poj pku图论、网络流入门题总结、汇总(转)
- WMDC连接Wince设备
- Ubuntu自带的FTP服务器vsftpd使用技巧
- 抽象工厂模式(Abstract Factory)