可用于定义数据存储区实体的key_name的最大字符数是多少?
拥有很长的key_names是不是很糟糕?
例如: 假设我们使用170个字符的key_names,这是Twitter消息的长度140加上10个数字字符表示纬度,10表示长度,10个表示时间戳。
(推理这样一个key_name:所以通过使用这样的key_name,我们可以轻松快速地确保没有重复的帖子,因为同一个消息不应该来自同一个地方和时间多次。)
答案 0 :(得分:43)
实际上,键名限制为500个字符,就像字符串属性值一样。见例如Key.to_path()
,调用ValidateString()
:
默认max_len
到_MAX_STRING_LENGTH
,即500:
答案 1 :(得分:12)
没有硬性最大值 - 键名的最大长度是键的最大长度,减去一些开销,键可以变得很长。
但是,拥有很长的密钥名称是很糟糕的:除了存储和检索它之外,每个索引条目都包含它所引用的密钥名称,因此较长的密钥名称意味着更高的索引开销。如果要确保对大文本的唯一性,最好的选择是将键名称作为输入的MD5或SHA1总和,以确保唯一性和短( - )键名称。