跨进程的KV
windows底下跨进程访问数据,向来是不好处理的,通常的几种办法是
- DLL的共享数据区
- 无连接问题,需要自己处理锁,无数据变化通知
- WM_COPYDATA的windows消息
- 点对点,没有锁,但是要有windows窗口接消息,需要设计交互协议
- PIPE 管道、SOCKET
- 一对多,要管理Server/Client多连接和数据到达缓存问题,需要设计交互协议
- INI文件
- 无连接问题,无数据变化通知,ini文件大小不能超过64k
是不是能有一个综合上面所有方法的优点,而又没有附带缺点的解决办法?
LMDB 和DLL共享数据区类似,不同的是它会把数据落地,你不用关心锁的问题。
我在基于LMDB的基础上加上了数据变化通知,欢迎使用/修改,暂无lisence
https://github.com/kjflyback/NOSKV