问题描述
我想开始使用键/值存储一些侧面项目(主要是作为一个学习经验),但很多人在最近的过去弹出,我不知道从哪里开始。从内存中列出,我可以想到:
I'm looking to start using a key/value store for some side projects (mostly as a learning experience), but so many have popped up in the recent past that I've got no idea where to begin. Just listing from memory, I can think of:
- CouchDB
- MongoDB
- Riak
- Redis
- 东京内阁
- Berkeley DB
- Cassandra
- MemcacheDB
- CouchDB
- MongoDB
- Riak
- Redis
- Tokyo Cabinet
- Berkeley DB
- Cassandra
- MemcacheDB
更多的在那里已经滑过我的搜索努力。有了所有的信息,很难找到所有竞争对手之间的坚实比较。我的标准和问题是:
And I'm sure that there are more out there that have slipped through my search efforts. With all the information out there, it's hard to find solid comparisons between all of the competitors. My criteria and questions are:
- (最重要)您推荐哪种方式,以及为什么 ?
- 哪一个最快?
- 哪一个最稳定?
- 哪些包含Python和/或Ruby的绑定?
- (Most Important) Which do you recommend, and why?
- Which one is the fastest?
- Which one is the most stable?
- Which one is the easiest to set up and install?
- Which ones have bindings for Python and/or Ruby?
编辑:
到目前为止,看起来Redis是最好的解决方案,但这只是因为我得到了一个稳定的响应(来自ardsrk)。我正在寻找更多的答案像他,因为他们指出我的有用的,量化的信息的方向。 您使用的键值商店,为什么?
So far it looks like Redis is the best solution, but that's only because I've gotten one solid response (from ardsrk). I'm looking for more answers like his, because they point me in the direction of useful, quantitative information. Which Key-Value store do you use, and why?
>
如果任何人有CouchDB,Riak或MongoDB的经验,我很乐意听听他们的经验(如果你可以提供其中几个的比较分析,更是如此)
Edit 2:
If anyone has experience with CouchDB, Riak, or MongoDB, I'd love to hear your experiences with them (and even more so if you can offer a comparative analysis of several of them)
推荐答案
我推荐Redis。为什么?继续阅读!!
I recommend Redis. Why? Continue reading!!
我不能说是否是最快的。但Redis是。它很快,因为
它保存所有的数据在RAM。最近,添加了虚拟内存功能,但仍然所有的密钥保留在主内存中,只有很少使用的值被交换到磁盘。
I can't say whether it's the fastest. But Redis is fast. It's fast becauseit holds all the data in RAM. Recently, virtual memory feature was added but still all the keys stay in main memory with only rarely used values being swapped to disk.
同样,由于我没有其他键值存储的直接体验,我无法比较。但是,许多网络应用程序正在使用Redis,例如,并在Linux框中运行 make install
。这将产生 redis-server
二进制,你可以把它放在你的路径并启动它。
Redis is fairly easy to setup. Grab the source and on a Linux box run make install
. This yields redis-server
binary that you could put it on your path and start it.
redis-server
默认绑定到端口6379。请查看源代码中的 redis.conf
,以获得更多配置和设置选项。
redis-server
binds to port 6379 by default. Have a look at redis.conf
that comes with the source for more configuration and setup options.
Redis拥有优秀的和支持。
Redis has excellent Ruby and Python support.
响应如下:Memcached只是一个简单的键值存储。 Redis支持复杂的,例如列表,集合和排序集,同时提供到这些数据类型。
In response to Xorlev's comment below: Memcached is just a simple key-value store. Redis supports complex data types like lists, sets and sorted sets and at the same time provides a simple interface to these data types.
还有 make 32bit
使所有指针只有32位大小,即使在64位机器上。这会在内存不足4GB的计算机上节省大量内存。
There is also make 32bit
that makes all pointers only 32-bits in size even on 64 bit machines. This saves considerable memory on machines with less than 4GB of RAM.
这篇关于哪个键/值存储是最有前途的/稳定的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!