1

我正在寻找一种解决方案来为我的本机代码应用程序添加持久性。它应该简单(无 SQL)、快速且最重要的是可靠。

我能想到的最好方法是使用内存映射文件。它尽可能简单和快速 - 您只需将值存储在“内存”中的纯数据数组中。但是,我认为它不是很可靠——电源故障可能会使数据库处于不一致或损坏的状态。能够以事务方式将一组内存映射文件同步到磁盘可以解决这个问题,但我认为这是不可能的。此外,除非文件系统支持快照或 COW 克隆(例如Brtfs),否则备份将意味着在复制文件时必须完全停止应用程序。

有没有人有更好的想法?

4

3 回答 3

2

东京内阁
http://fallabs.com/tokyocabinet/

伯克利数据库
http://www.oracle.com/technetwork/database/berkeleydb/overview/index.html

于 2011-02-02T06:32:08.947 回答
0

您的需求列表听起来像 Redis。有关更多信息,请参见http://redis.io/

另一种可能性是卡桑德拉。有关更多信息,请参见http://cassandra.apache.org/

于 2011-02-02T06:19:29.783 回答
0

RocksDB 或 levelDB 是其他不错的选择。

于 2016-03-19T03:37:29.667 回答