寻找基于磁盘的类似redis的数据库

时间:2013-03-12 13:05:04

标签: database nosql redis persistence

我目前正在为我的应用程序使用Redis,它的功能非常适合我的应用程序(列表,集,排序集等)。

我的应用程序在很大程度上依赖于排序集,列表和集合。和他们相关的功能(推送到列表,获取列表,集合的联合等。我现在面临的唯一问题是我的数据很大,我的大部分数据都不需要在内存中,我想要将它们存储在磁盘上。

**我需要一个带有redis数据结构的 on-disk 数据库**

我读过Cassandra,但我不确定它是否支持排序集,集,列表。或者至少如果确实如此,我找不到像Redis那样操纵它们的方法。

感谢。

4 个答案:

答案 0 :(得分:7)

https://github.com/yinqiwen/ardb 另一个REDIS协议替代品 使用LMDB,RocksDB和LevelDB基于磁盘的后端

不错的基准

答案 1 :(得分:5)

有许多磁盘数据库具有类似Redis的数据结构,甚至尝试与Redis进行协议兼容的替换。

" Is there something like Redis DB, but not limited with RAM size?" - 可惜社区认为这些问题不合时宜。

特别是,SSDB是一个主动维护的类Redis磁盘数据库(但不直接兼容),Ardb是Redis的主动维护替代品,用于存储磁盘上的数据。免责声明:我还没有使用它们中的任何一个。

答案 2 :(得分:4)

尝试基于leveldb http://inaka.github.io/edis/

的Edis - Erlang实现Redis

答案 3 :(得分:0)

我鼓励你学习Cassandra,虽然它有一些类似于键/值和集合的东西,但它与Redis非常不同。

我们目前正通过Memcached协议将一个项目从Redis(我们使用sadd / spop)移动到TokyoCabinet / KyotoCabinet。目前看起来不错,很快我将在github上发布lib - 将在这里提供:

https://github.com/nmmmnu

和项目将被称为简单消息队列。它只支持sadd / spop / sismember。同样在Python中,您将能够使用新对象而不是Redis对象,但仅限于这三个命令。

希望这有帮助。


更新2014.07:

这是我所说的项目。

https://github.com/nmmmnu/MessageQueue

它实现了Redis和Memcached协议。对于后端,它使用内存ndb / mdb或berkeley db。