因为你题目中有限定条件,嵌入式(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就足够了。