【发布时间】:2013-11-17 00:22:23
【问题描述】:
我的实时网络应用发出 ajax 请求以获取 JSON 后处理的数据响应。
返回的数据通常是对象数组的形式。
由于数组通常有 很多 元素(虽然发送的数据被服务器压缩),为了将响应大小保持在最小,我保留了 keys 回复很短。
例如,不使用 description: 我使用 d:,而不是使用 width: 我使用 w:强>等等……
这样做会减小响应的大小,但在客户端,非常短的非人工可读键会降低 JavaScript 代码(访问对象)的可读性。
唯一的解决方案似乎是重新解析响应并使用 pretty 键重建对象,或者将它们替换为收到的原始对象。但这可能会损害 JavaScript 代码性能,从而导致更多延迟...
有更好的解决方案吗?
编辑:
正如 Björn Roberg 在他的评论中建议的那样,我做了一个比较:
pretty-response.json 459,809 bytes
short-response.json 245,881 bytes
pretty-response.json.zip 28,635 bytes
short-response.json.zip 26,388 bytes
因此,由于响应是由服务器压缩的,因此差异确实很小。
不过,漂亮的响应需要服务器压缩 450 KB 的数据,而短响应只需 240 KB。
这会影响服务器性能吗(或者有办法衡量它)吗?
【问题讨论】:
-
您是否尝试过使用“漂亮”键并比较传输的实际大小?
-
当您说您拥有“大量”数据时,您指的是多少?您可以使用
redis来“外包” JSON 对象的存储,如果您需要处理大量元素,这将有所帮助 -
@BjörnRoberg 查看我的编辑...
-
我不禁觉得,不管你的问题是什么,一定有比 450kb 的 JSON 更好的解决方案。
-
标签: javascript json