当前位置导航:炫浪网>>网络学院>>网页制作>>JSP教程

DODS学习日记(五)


从5.1final版开始,DO的缓存转换到DataStruct的缓存中.只有那些原始的DataStructs加入到新的DataStruct缓存中而不是所有的DO,DO只有一个数据(DataStruct对象).所有的转换是在这个对象上完成的, DataStruct对象包含了每个表的列的值,现在,DO保存了两个DataStruct引用.

(1)    orginalData

(2)    data

orginalData保存了原始的数据(从数据库中读取),这个数据将不会被修改直到提交,而且如果缓存存在,则该DataStruct对象被加到DataStruce缓存中去.

Data仅仅当数据被修改才会产生(拷贝orginalData),如果第二个DataStruct存在,那么DO的属性”isDirty”将被设置为true,即使经过一些修改之后,新的DataStruct保存了根orginalData一样的值.该DO仍然是脏的,所有没有办法让属性isDirty由true到false,除非在提交事务的过程中,如果事务被提交,新的DataStruct将会转移到orginalData.新的

DataStruct将会再次置为空,所有属性isDirty变为false.

一个新生成的DO(内存中,而不是数据库中)将只有一个DataStruct对象数据, orginalData中的orginalData数据值在提交之前为空..

oid和version属性从DO转移到DataStruct对象.

DataStruct中新添加的属性有:

isEmpty和databaseName

DataStruct中新添加的方法有:

getOID()

setDatabase(String dbName)

……..
      


DODS为每张表拥有缓存的可能.可能的缓存类型有:None,LRU.和FULL.

DODS有两种层次的缓存.

数据缓存级.只有一个LRU缓存,

查询缓存级,可以有两个查询缓存(简单和复杂类型),这些查询缓存也是LRU缓存.

缓存的配置:

同上面的类似,也分为三个层次的.


相关内容
赞助商链接