因为你题目中有限定条件,嵌入式(embedded),我的理解是:

必须以Library方式和你的代码融为一体(即一个进程、一个地址空间),所以,所有的Client/Server模式的K/V数据库都排出在外,比如Redis。

一、最简单的K/V

就是HashMap,比如:Golang已经自带了Map功能库。

缺点是:内存不受控制。

二、内存受控的K/V

这就是Cache。

我对Golang不熟,如果是Java,我可以推荐Google的Guava库,里面有Cache Library。我想Golang应该也有类似的库。你Google一下就应该可以找到。

三、如果想再扩展到磁盘

有两大类,一类是B树,比如:SQLite、LMDB。一类是LSM树,比如:LevelDB, RocksDB。

对于写要求非常高,建议LSM树。但具体还是要测试,也许B树的SQLite就足够了。