哪个键/值存储最有前途/最稳定?
我希望开始为某些辅助项目使用键/值存储(主要是作为学习经验),但是最近几年涌现了很多,所以我不知道从哪里开始。只是从内存中列出,我可以想到:
- CouchDB
- MongoDB
- 里亚克
- 雷迪斯
- 东京内阁
- 伯克利DB
- 卡桑德拉
- 内存缓存数据库
而且我敢肯定,在我的搜索工作中,还有更多的滑倒了。有了所有信息,很难在所有竞争对手之间找到可靠的比较。我的标准和问题是:
- (最重要)您推荐哪个 ? 为什么 ?
- 哪一个最快?
- 哪一个最稳定?
- 哪个是最容易设置和安装的?
- 哪些具有针对Python和/或Ruby的绑定?
编辑:
到目前为止,Redis似乎是最好的解决方案,但这仅仅是因为我得到了一个肯定的答复(来自ardsrk)。我正在寻找像他这样的更多答案,因为它们将我引向了有用的,定量的信息。
您 使用哪个键值存储, 为什么 ?
编辑2:
如果有人对CouchDB,Riak或MongoDB有经验,我很想听听您对他们的经验(如果您可以对其中的几种进行比较分析,则更是如此)
-
您推荐哪个?为什么?
我推荐Redis。为什么?继续阅读!!
哪一个最快?
我不能说这是最快的。但是Redis很快。它之所以快是因为它将所有数据保存在RAM中。最近,添加了虚拟内存功能,但所有键仍保留在主内存中,只有很少使用的值被交换到磁盘。
哪一个最稳定?
同样,由于我没有其他键值存储的直接经验,因此无法进行比较。但是,Redis已在GitHub和Instagram等许多Web应用程序的生产中使用。
哪个是最容易设置和安装的?
Redis相当容易设置。获取源代码并在Linux机器上运行
make install
。这将产生redis-server
二进制文件,您可以将其放在路径上并启动它。redis-server
默认情况下绑定到端口6379。请redis.conf
参阅源附带的更多配置和设置选项。哪些具有针对Python和/或Ruby的绑定?
针对Xorlev的以下评论:Memcached只是一个简单的键值存储。Redis支持复杂的数据类型,例如列表,集合和排序集合,同时为这些数据类型提供了简单的接口。
还有一个问题是
make 32bit
,即使在64位计算机上,所有指针的大小也只有32位。这样可以在RAM少于4GB的计算机上节省大量内存。