String 一条tweet有多少字节的内存?

String 一条tweet有多少字节的内存?,string,memory,String,Memory,140个字符。它会占用多少内存 我正试图计算我的EC2大型实例Mongo DB可以容纳多少条tweet。通常,如果将Unicode存储为UTF-8,则每个字符可以容纳两个字节,因此这意味着每条tweet最多可以容纳280字节。早在九月份,Twitter的一位工程师建议每条tweet大约可以容纳200字节 当然,您仍然需要考虑您自己的元数据和数据库本身的开销,但200字节/记录可能是一个很好的起点。内存中可能有284字节(4字节长度前缀+长度*2)。在数据库内部,我不能说,但可能是280,如果数据

140个字符。它会占用多少内存


我正试图计算我的EC2大型实例Mongo DB可以容纳多少条tweet。

通常,如果将Unicode存储为UTF-8,则每个字符可以容纳两个字节,因此这意味着每条tweet最多可以容纳280字节。

早在九月份,Twitter的一位工程师建议每条tweet大约可以容纳200字节


当然,您仍然需要考虑您自己的元数据和数据库本身的开销,但200字节/记录可能是一个很好的起点。

内存中可能有284字节(4字节长度前缀+长度*2)。在数据库内部,我不能说,但可能是280,如果数据库是UTF-8,您可以添加一些字节的开销,用于元数据等。

Twitter

,使最大消息大小140 x 4=560个8位字节

当然,这只是针对原始消息,不包括存储开销、索引和其他与存储相关的填充

e:Twitter成功让我发布消息:

™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™


是的,这是140个商标符号,它们可能引起人们的兴趣:

剖析Twitter状态对象

还有更多关于twitter字符编码的信息:

从技术上讲,它存储为UTF-8,实际上,这里推特人的幻灯片提供了关于它的真实数据:

140个字符,约200个字节


UTF-8字符的大小可以超过两个八位字节。例如,这个数字有三个八位字节长。Wikipedia建议最大可能大小为6(!!!)个八位字节。Twitter——140个字符并不意味着140个字节,除非您将所有可能的消息限制在更低的127 ASCII范围内。@Charles:说这只是一个字节计数。从那以后情况有变化吗?假设它们计算代码点,但不设置字节大小的上限。从邮件列表线程中的一些混乱判断,我希望API文档比这里讨论的要新。UTF-8编码代码点,而不是字形。在UTF-8、UTF-16和UTF-32中,每个代码点最多可以是4个八位字节。CESU-8编码可以使用6个八位字节作为一个编码点,但这仅仅来自于UTF-16到UTF-8的简单编码,实际上并不是有效的UTF-8。术语和数学更新,感谢您的澄清。值得指出的是,每条推文都不是140个字符,而且随着推特的用户群变得更加国际化(或不再国际化),更大的代码点将被更多(或更少)地使用。虽然这是事实,但问题是在确定存储需求的上下文中询问大小,因此考虑最大大小而不是平均大小更为正确。