|
楼主 |
发表于 2003-4-10 22:36:12
|
显示全部楼层
介绍Cache中的多维数据存贮技术
Global是怎样存贮对象和SQL数据的呢?虽然这是系统自动处理的,但理解了这个原理,对我们学好用学Cache可能是很关键的!
1.所有持久类都是通过%CacheStorage类存贮自身数据的。
2.数据是存贮在以类名开始加特殊的如“D”“I”形成的Global中。
3.每个实例存贮在一个节点中,并用一个$List在一个节点存贮所有属性。
4.每个节点的Global下标是一个ID,ID是通过一个没有下标的计数器节点使用$Increment获得的。
5.也可以用IDKEY指定计数器。
6.子类引用的属性存贮在另一个子节点上。
7.父子关系的类,子类存贮在父类的子节点上。
8.嵌入对象序列化为$List后再存贮在父类同一节点上。
9.Streams对象存贮在多个连续的节点上,文件Stream,存贮在外部文件。
10.索引,存贮在另一个类名加“I”的Global中,每个节点的第一个下标是索引名称,第二个下标是排序过的属性值,第三个下标是对象的ID,节点本身一般是空的,多个索引存贮在一个Global中的。
11.二进制索引类似,可以用$Bit,$BitCount,$BitFind,$BitLogic进行二进制操作。
12.二地制索引中,第一个下标还是索引名,第二个是属性值,但是以数字比较,第三个一个“块值”,节点本身包含二进制值。
13.关系表的存贮与对象的数据存贮是共享的,同样原理的。 |
|