docs: 完成数据库和缓存部分初步设想
This commit is contained in:
@ -29,8 +29,13 @@
|
||||
##### 需求
|
||||
|
||||
##### 数据结构
|
||||
###### 底层实现
|
||||
通过B+树或一个有序的块状链表实现一个键值数据库,相当于`std::multimap`,一个键值数据库实例拥有恰好一个文件
|
||||
###### 逻辑实现
|
||||
数据库的一条记录有主键(应当是唯一的)、副键和数据构成,从主键到数据建立multimap,从副键到主键建立multimap,一个数据库实例拥有恰好两个文件。
|
||||
|
||||
##### 文件访问与缓存
|
||||
memoryriver类维护一个缓存,简单地缓存高频访问和连续访问;键值数据库根据逻辑缓存最近访问和高频访问;数据库层不设缓存。
|
||||
|
||||
##### 并发安全
|
||||
|
||||
|
Reference in New Issue
Block a user