使用Redis
hashes时,我经常会存储99%的相同密钥:
HGETALL object:someID {
"id": "123",
"someSpecificKeysWithLongNames": "..."
}
Redis如何存储哈希?它是否能够减少键名所需的分配空间,还是应该使用短键来减少开销?
HGETALL myobject {
"i": "123",
"s": "..."
}
答案 0 :(得分:3)
无论基础数据结构如何,Redis都不会压缩任何版本的密钥名称。如果您的钥匙相同,您将可以使用更短的钥匙。
我建议你做一些实证计算,以便在实际重构之前找出节省的资金。根据您的示例,您至少要保存len(someSpecificKeysWithLongNames) - 每个哈希的len(s)字节。乘以你拥有或计划拥有的哈希数量,然后做一个成本效益,看看节省是否值得痛苦。