我了解Redis会列出,设置和散列
每种类型的优点/缺点是什么,以及在列表上使用集合的地方,或在集合上使用哈希的例子,等等
您要考虑的主要问题是您将要对其进行哪种操作……这比性能要重要。因为,如果没有可用的操作,它将无法正常工作。
首先,查看Redis命令文档,并确保可以找到可用的命令集。我在这里使用的大多数推理在通用编程中也是如此。例如,为什么要在Python中使用字典而不是列表。Redis命令文档通常对操作使用Big- O表示法。大多数单个的查找,插入等是O(1),因此类型之间的差别不大。我也没有发现每种存储空间的差异。
O(1)
这里还有许多其他原因,因为我比较笼统。这篇文章很可能会扩展到书中的一章!这不是一个简单的问题。
哈希: 这是用于如果您想通过键来获取值。就像键值存储中的键值存储一样。另外,您可以通过按名称具有子参数来执行类似“类”的操作(例如,使用键“地址”,“出生日期”等)。
列表: 基本上没有钥匙的集合,它是东西的集合,其中立即找到一个人没什么大不了的。例如,您可能有一个用户参与的交易列表。
设置: 基本上是一个哈希,但没有价值。当您想知道“这东西是否在套装中吗?”时使用。与列表不同,集合需要花费固定的时间来确定某个对象是否是成员。而且,与列表不同,集合中的项目是唯一的。使用布景,您还可以进行相交和其他布景工作。这不是您可以使用哈希进行的操作。例如,您想通过工会查找在意大利办公室(一套)购买物品的所有用户,以及在法国办公室(另一套)购买物品的所有用户。
已排序的集合 :类似于集合,但具有涉及查找项目范围或等级的其他选项。