【问题标题】:Redis types and their respective pros and consRedis 类型及其各自的优缺点
【发布时间】:2011-10-12 21:13:52
【问题描述】:

我了解 Redis 列表、集合和哈希

每种类型的优缺点是什么,以及集合的位置示例 在列表上使用,或者在集合上使用散列等

【问题讨论】:

    标签: redis


    【解决方案1】:

    您要考虑的主要问题是您将要求它进行什么样的操作...这比性能更重要。因为,如果一个操作不可用,它就不会起作用。

    首先查看Redis commands documentation,并确保有可用的命令集供您使用。我在这里使用的大部分推理在通用编程中也是相同的。例如,为什么你会在 Python 中使用字典与列表。 Redis 命令文档通常具有用于操作的 Big-O 表示法。大多数单独的查找、插入等都是O(1),因此类型之间没有太大区别。在存储空间方面,我也没有发现太大差异。

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

    哈希: 这是为了如果您想通过键获取值。几乎就像键值存储中的键值存储。此外,您可以通过按名称设置子参数(例如,使用“地址”、“出生日期”等键)来做类似“类”的事情

    列表: 基本上是一个没有钥匙的集合,它是一组东西,立即找到一个人并不是什么大不了的事。例如,您可能有一个用户参与的交易列表。

    设置: 基本上是一个哈希,但没有价值。这是为了当您想知道“这东西是否在集合中?”时。与列表不同,集合需要花费恒定的时间来确定某物是否是成员。此外,与列表不同,集合中的项目是唯一的。使用集合,您还可以做交叉点和其他集合的东西。这不是你可以用哈希做的事情。例如,您想通过union 查找在您的意大利办事处购买商品的所有用户(一组),以及在您的法国办事处购买商品的所有用户(另一组)。

    Sorted Sets:类似于集合,但有额外的选项涉及查找项目的范围或等级。

    【讨论】:

    • 你能告诉我他们所说的交叉多个集合是什么意思
    • {A, B, C} 与 {B, C, D} 相交会返回 {B, C}。这是两个集合中的共同点。
    猜你喜欢
    • 2023-03-24
    • 2023-03-17
    • 2011-08-02
    • 1970-01-01
    • 2010-10-02
    • 2017-10-13
    • 2020-07-20
    • 2011-10-13
    • 2012-02-22
    相关资源
    最近更新 更多