23

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

我的应用程序严重依赖排序集、列表、集。以及它们的相关功能(推送到列表、获取列表、集合并集等。我现在面临的唯一问题是我的数据很大,而且我的大部分数据不需要在内存中,我想将它们存储在磁盘上。

**我需要一个带有 redis 数据结构的磁盘数据库 **

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

谢谢。

4

4 回答 4

9

有许多磁盘上的数据库具有类似 Redis 的数据结构,甚至试图成为 Redis 的协议兼容替代品。

在“是否有类似 Redis DB 的东西,但不受 RAM 大小限制? ”中有很好的建议- 可惜社区认为这些问题是题外话。

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

于 2014-07-17T01:01:15.943 回答
9

https://github.com/yinqiwen/ardb 另一个 REDIS 协议替换为 LMDB、RocksDB 和 LevelDB 基于磁盘的后端

不错的基准

于 2014-10-13T11:19:24.543 回答
5

尝试 Edis - 基于 leveldb 的 Redis 的 Erlang 实现http://inaka.github.io/edis/

于 2013-06-22T04:30:16.963 回答
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。

于 2013-05-18T08:44:25.333 回答