基于跳过列表的键值存储引擎,iowow的设计思路挺清奇的。它不是那种重量级数据库,而是个轻量、好嵌入的 C11 小库,核心体积就 200Kb,直接塞进你的应用里也不心疼。嗯,文件操作做得也挺细,像文件上的malloc()
一样用得顺手。
单文件多库的模式挺适合微服务场景,尤其嵌入式或边缘端部署。用的是IWKV
,跑得快、记录遍历也快。复合键也能搞定,整数键原生支持,跟LMDB
、LevelDB
、Kyoto Cabinet
这些老对手比,不虚。
数据库备份是在线完成的,省事不少。缓存控制也贴心,默认只要130Kb
,释放用iwkv_db_cache_release()
就行,适合内存预算吃紧的项目。不过要注意几个点:最大支持512GB
文件,单个键值不能超过255Mb
,用之前先评估下你的数据量。
支持平台方面,主打Linux
,Ubuntu/Debian
下直接加 PPA 就能装:
sudo add-apt-repository ppa:adamansky/iwowow
sudo apt-get update
sudo apt-get install iowow
如果你想找个嵌入式 KV 引擎,数据量不超百 G,还部署轻、启动快、代码能直接集成,iowow还挺适合的。对了,它的使用者之一是EJDB
,做 JSON 存储的,兼容性也还不错。