[ ]
周飒博客-ZhouSa.com FireFlyKV
简介
FireFlyKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化采用紧凑型数据组织方式,优化了数据存储结构,性能高,稳定性强,适用于 Android / macOS 平台。
工作原理
下面从以下几个方面对FireflyKV的工作原理进行阐述:
数据组织
为了避免数据冗余,我们采用的是紧凑型的存储方式,去除了冗余的字符,减小文件占用空间,大大提高了执行效率。
内存优化
在内存优化方面,使用hash索引+偏移量的方案替代了内存缓存方案。
读取方式
在读取数据时,我们采用了效率最高的倒序读取法。
文件整理
在数据的增删改查过程中,我们会在特定时机触发重整理的工作,删除失效数据,从而达到节省磁盘空间,增加文件打开和读写的效率。
数据加密
我们为使用者提供了chacha20的加密方式,同时,我们也提供对自定义加密的支持。
进程间的数据并发安全问题
我们采用了文件锁的方式来解决Android端多进程数据访问问题。
还没有评论,来说两句吧...