如果我希望我的 MirageOS 单内核将一些信息存储在外部数据库上(无论类型如何),哪些是可用的最佳选项?我看了一下不同的解决方案,但似乎没有一个提供数据库绑定的库与 XEN 兼容。我尝试的最后一个是 Redis,但显然 ocaml 库无法为 XEN 编译。
Redis 代码看起来应该可以在 Xen 上运行。似乎(从快速浏览)有一个Redis
核心模块和一个单独的Redis_lwt
将其应用于Lwt_unix
。您可能需要编写一个 Mirage 等效版本:
https://github.com/0xffea/ocaml-redis/blob/master/src/redis_lwt.ml
大多数位是相同的,但是使用Unix API的东西需要改变。例如,Lwt_unix.socket
需要更改为使用Mirage的TCP/IP API。