【问题标题】:Difference between Redis GET/SET and hash tablesRedis GET/SET 和哈希表的区别
【发布时间】:2020-12-20 01:34:48
【问题描述】:

我是 Redis 和一般数据库的新手。我对何时应该使用 GET/SET 命令以及何时应该创建哈希表并使用 HGET/HSET 命令感到困惑。

假设我想跟踪商店中各种产品的价格。

使用 GET 和 SET:

SET pencil 3
SET eraser 4
SET calculator 60

GET pencil
GET eraser
GET calculator

使用 HGET 和 HSET:

HSET mystore pencil 3
HSET mystore eraser 4
HSET mystore calculator 60

HGET mystore pencil
HGET mystore eraser
HGET mystore calculator

对于这个商店示例,首选哪种方法?使用 GET/SET 命令和使用 HGET/HSET 命令有什么区别?它们有哪些用例?

谢谢

【问题讨论】:

    标签: database redis hashmap


    【解决方案1】:

    Hash 用于存储 Redis 中的对象,GET/SET 用于存储单个字符串(或 int)。

    根据您的描述,在您的情况下,HSET 和 GET/SET 没有什么不同。如果您的 Redis 数据库仅用于 mystore 对象(或类似的对象),您可以使用 GET/SET 键。

    如果有多个类似的 mystore 对象,我建议转换为散列,因为它会更容易组织键值。

    为了性能,key-value string 和 hash 都是由 dict 实现的(如果数据集很小,hash 将使用 ziplist)。所以它总是 O(1) 时间复杂度。

    【讨论】:

      猜你喜欢
      • 2016-03-20
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-08
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      相关资源
      最近更新 更多