FireFlyKV

簡介

FireFlyKV 是(shì)基于(yú) mmap 内存映射的(de) key-value 組件,底層序列化/反序列化采用緊湊型數據組織方式,優化了(le/liǎo)數據存儲結構,性能高,穩定性強,适用于(yú) Android / macOS 平台。

工作原理

下面從以(yǐ)下幾個(gè)方面對FireflyKV的(de)工作原理進行闡述:

數據組織

爲(wéi / wèi)了(le/liǎo)避免數據冗餘,我們采用的(de)是(shì)緊湊型的(de)存儲方式,去除了(le/liǎo)冗餘的(de)字符,減小文件占用空間,大(dà)大(dà)提高了(le/liǎo)執行效率。

内存優化

在(zài)内存優化方面,使用hash索引+偏移量的(de)方案替代了(le/liǎo)内存緩存方案。

讀取方式

在(zài)讀取數據時(shí),我們采用了(le/liǎo)效率最高的(de)倒序讀取法。

文件整理

在(zài)數據的(de)增删改查過程中,我們會在(zài)特定時(shí)機觸發重整理的(de)工作,删除失效數據,從而(ér)達到(dào)節省磁盤空間,增加文件打開和(hé / huò)讀寫的(de)效率。

數據加密

我們爲(wéi / wèi)使用者提供了(le/liǎo)chacha20的(de)加密方式,同時(shí),我們也(yě)提供對自定義加密的(de)支持。

進程間的(de)數據并發安全問題

我們采用了(le/liǎo)文件鎖的(de)方式來(lái)解決Android端多進程數據訪問問題。

Copyright © 屯昌單支科技有限公司 2019 all right reserved,powered by Gitbook聯系方式: wanglihang@mskj.com
修訂時(shí)間: 2019-09-03 17:48:17

results matching ""

    No results matching ""