2

使用Redis 哈希时,我通常会存储 99% 的相同键:

HGETALL object:someID {
    "id": "123",
    "someSpecificKeysWithLongNames": "..."
}

Redis 是如何存储哈希的?它是否能够减少键名所需的分配空间,还是我应该使用短键来减少开销?

HGETALL myobject {
    "i": "123",
    "s": "..."
}
4

1 回答 1

3

无论底层数据结构如何,Redis 都不压缩任何版本的键名。如果您的密钥相同,您将受益于使用较短的密钥。

我建议在实际重构之前进行一些经验计算以找出节省的成本。根据您的示例,您至少会保存 len(someSpecificKeysWithLongNames) - 每个哈希的 len(s) 个字节。将其乘以您拥有或计划拥有的哈希值,然后进行成本效益分析,看看节省的成本是否值得。

于 2013-06-04T06:28:19.940 回答