Redis哈希:键名压缩

时间:2013-06-04 02:29:23

标签: redis

使用Redis hashes时,我经常会存储99%的相同密钥:

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

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

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

1 个答案:

答案 0 :(得分:3)

无论基础数据结构如何,Redis都不会压缩任何版本的密钥名称。如果您的钥匙相同,您将可以使用更短的钥匙。

我建议你做一些实证计算,以便在实际重构之前找出节省的资金。根据您的示例,您至少要保存len(someSpecificKeysWithLongNames) - 每个哈希的len(s)字节。乘以你拥有或计划拥有的哈希数量,然后做一个成本效益,看看节省是否值得痛苦。