2011-10-12 53 views

回答

4

你想要考虑的主要事情是什么样的操作,你会问它......这比表现。因为,如果一个操作不可用,它就不会工作。

首先,看看Redis commands documentation,并确保可用的命令集适合您。我在这里使用的大多数推理在通用编程中也是一样的。例如,为什么你会在Python中使用字典与列表。 Redis命令文档通常具有操作的Big-O符号。大多数单独的查找,插入等都是O(1),所以类型之间没有太大的区别。我还没有发现其中每一个的存储空间都有很大差异。

这里还有很多其他的原因,因为我比较笼统。这篇文章可能会扩展到一本书中的一章!这不是一个简单的问题。

哈希值: 这是为了如果你想通过键来获取值。几乎就像一个键值存储中的键值存储。此外,您还可以做“阶级”般的东西,通过具有名称子参数(例如,用钥匙“地址”,“出生日期”,...)

列表: 基本上是一组无关键是,它是一个立即找到个人并不是什么大事的集合。例如,您可能有一个用户参与的交易清单。

设置: 基本上是哈希,但没有任何价值。这是为了当你想知道“这件事是否在一组?”。与列表不同,集合需要不断的时间来确定是否有某个成员。而且,与列表不同,该集合中的项目是唯一的。有了套件,你也可以做交点和其他设置的东西。这不是你可以用Hashes做的事情。例如,您想通过执行union找到在意大利办事处(一组)购买东西的所有用户以及在法国办事处(另一组)购买东西的所有用户。

Sorted Sets:像一个集合,但有其他选项涉及查找范围或项目的排名。

+0

对不起,延迟...谢谢你的回答,,非常有帮助.. –

+0

你能否告诉我他们是指相交多套 –

+1

{A,B,C}与{B,C,D}返回{B,C}。这是两套共同点。 –