【发布时间】:2019-07-29 19:50:27
【问题描述】:
我目前有一个场景,我们使用 REDIS 在 hashed set HSET 中存储字符串 field-value 对。
使用散列集而不只是集的最初原因是在 GUI 搜索栏中使用 HSCAN 而不是仅使用 SCAN 可以轻松检索记录,因为更容易获得在COUNT 字段。
我在 Redis 文档中读到 GET 和 HGET 命令都以 O(1) 时间复杂度执行,但我团队的一名成员认为,如果我将所有值存储在一个键中,那么它基本上会返回HGET 期间的整个哈希,而不是我需要的单数 field-value。
所以对于一个虚构但类似的例子:
- 我有一个带有单个哈希集的 Redis 实例,名为
users。 - 散列集有 150,000 个
field:value对username:email
如果当我执行hget users coolguy 时,是返回整个哈希还是只返回用户coolguy 的电子邮件?
【问题讨论】:
标签: performance memory redis cpu-speed