【问题标题】:Is there a not-in-memory version of Redis that uses the same API?是否有使用相同 API 的非内存版本的 Redis?
【发布时间】:2017-01-16 14:00:56
【问题描述】:
我将 Redis 广泛用于多个应用程序。在我们的一台服务器上,由于数据加载速度较慢,我想使用我开发的 API,但我不希望所有内容都在内存中(因为这太贵了)。相反,我希望将所有内容都写入磁盘。我不想重写我的整个 API。
这可能吗?例如,是否有允许我使用 Redis 命令查询 mongodb 的桥接器?
我知道在 Redis 中优化内存使用。
我知道http://redis.io/topics/virtual-memory,但在我的情况下,密钥也可以写入文件系统。
【问题讨论】:
标签:
database
memory
redis
【解决方案1】:
不幸的是 - 没有。
网上有一个项目,支持set、list、zset等大部分基本命令,但不够稳定。
如果您只使用 get/set,您可能会对 memcachedb 感兴趣。
TokyoTyrant 也有 memcache get/set api。
我还有一些测试项目来使用 python + berklydb 制作 sadd / srem / srandmember。然而,它的表现并不好,即使不是很高的压力也能达到 100% 的磁盘使用率。这是一个链接:。
https://github.com/nmmmnu/MessageQueue
我终于有了一个新项目,将使用 redis api,但再次,工作方式与 redis 不同。链接在这里:。
https://github.com/nmmmnu/HM3
更新。
您可能可以对 mysql 或其他一些 sql 或 nosql 进行一些包装。您可以使用我的 python 脚本,也可以更改源代码。例如。而要实例化 Redis 类,您可以编写自己的类,例如 MyRedisWrapper,然后您只需要实例化它而不是 Redis 类。
【解决方案2】:
也许是鼠兔? https://github.com/Qihoo360/pika
"Pika 是一个持久化的大容量存储服务,兼容海量
大部分redis接口(详情),包括string、hash、list、
zset,设置和管理接口。随着海量数据
存储,redis可能遭遇容量瓶颈,pika诞生了
为了解决它。除了巨大的存储容量,鼠兔还支持
通过slaveof命令实现主从模式,包括full和partial
同步”