我在一个移动网站(主要是Android)上工作,我想在客户端存储一个字符串(大约20个字符)。我想知道哪种方式在性能方面更有效,本地存储还是cookie?我将使用JavaScript来编写cookie或本地存储。服务器不会在任何部分工作来创建cookie。
我找到了一些测试结果,但在我看来并不准确。我还发现了一些关于堆栈溢出的问题,但他们也没有回答我的问题。如果有谁知道一个好的文章或测试,请帮助。
发布于 2013-06-22 08:37:08
即使我想不出一些jsPerf的例子,localStorage的访问速度肯定比读出cookie要快。但在这种情况下,这并不是您唯一关心的问题,特别是当您在处理请求时间和性能非常苛刻的移动设备时。
这意味着,cookies将被附加到HTTP请求,而localStorage数据不会。
我的建议显然是localStorage。
发布于 2015-11-26 00:29:49
您可以使用jsPerf here在浏览器中运行一个测试。在我使用Chrome的Ubuntu上,测试显示读localStorage比读cookie快,但写localStorage比写cookie慢。

发布于 2013-06-22 09:10:47
我可以问一下您如何衡量“效率”/“绩效”吗?
例如,您可能正在测量网络/数据使用情况,或者您可能正在测量延迟,或者可能正在测量用户的“可察觉”程度。
我还会问到这个网站的安全性有多重要。
就我个人而言,我对通过JavaScript访问cookie有一种下意识的反应,特别是当涉及到会话管理时。cf:
发出这些请求的频率是多少?
如果是一次/小时、一次/分钟或一次/秒,则会影响结论。这些不同频率的几秒钟延迟都会被用户以不同的方式感受到。
根据您要部署的情况调整结论。
我的最后一个问题是如何将此会话ID发送到。
它是否包含在每个AJAX请求中?每一次页面加载?如果它存在于每个AJAX请求中,而不是每个HTTP请求中?
..实际回答你的问题:
没有看到你的设计/意图,没有上述问题的答案,并且只从性能/延迟的角度考虑这一点:我假设localStorage只会有好处,因为你可以有选择地选择何时传输会话id (但这取决于用于“选择性选择”的代码-如果它是针对每个请求发送的,那么无论如何它都不会有多大的影响)。
我建议考虑一下性能提升是否是必需的(在你将要部署的环境中进行过早的优化和测试,而不是在独立环境中进行测试),以及安全影响是否值得关注(并不是在所有情况下都是绝对必要的,例如广告跟踪与银行应用程序)。
从本质上讲,这是一种冗长的方式来表达“它取决于”!
https://stackoverflow.com/questions/17246175
复制相似问题