Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
使用Redis 哈希时,我通常会存储 99% 的相同键:
Redis
HGETALL object:someID { "id": "123", "someSpecificKeysWithLongNames": "..." }
Redis 是如何存储哈希的?它是否能够减少键名所需的分配空间,还是我应该使用短键来减少开销?
HGETALL myobject { "i": "123", "s": "..." }
无论底层数据结构如何,Redis 都不压缩任何版本的键名。如果您的密钥相同,您将受益于使用较短的密钥。
我建议在实际重构之前进行一些经验计算以找出节省的成本。根据您的示例,您至少会保存 len(someSpecificKeysWithLongNames) - 每个哈希的 len(s) 个字节。将其乘以您拥有或计划拥有的哈希值,然后进行成本效益分析,看看节省的成本是否值得。