【问题标题】:Does HTML5 localStorage maximum size include key names?HTML5 localStorage 最大大小是否包括键名?
【发布时间】:2012-07-04 18:15:17
【问题描述】:

HTML5 的localStorage WebStorage 的最大大小为 5MB。

这是否包括键名?

例如,如果我使用键名"quite-a-long-key-name-and-this-is-only-1" 而不是"key1",我会更快用完空间吗?

关于一个稍微相关的话题;命名localStorage 键是否有任何事实上的约定? 使用第三方 JS 脚本时如何防止命名空间冲突?

【问题讨论】:

    标签: javascript html local-storage


    【解决方案1】:

    这是否包括键名?

    是的,它们会成为数据的一部分,例如它们会识别您存储的数据,然后再检索这些数据,以便也将其保存。

    在使用第三方 JS 时如何防止命名空间冲突 脚本?

    这是一个很好的问题,我通常在 localStorage 前面加上应用程序名称。虽然更好的方法是创建一个哈希,例如一些接受应用程序名称等字符串的算法,然后在阅读时再次使用它们。

    【讨论】:

    • 我目前也在为我的应用程序(或者更确切地说,jQuery 插件)名称选择前缀。哈希只有在可重复的情况下才有效,在这种情况下,您最好只使用名称。
    • @Martijn:是的,我的意思是一个唯一的哈希,它没有冲突的机会,并且可以加密和解密(保存,检索):) 这是一个不同的话题
    【解决方案2】:

    首先请注意,这取决于the norm doesn't give a limit 的实现。所以你不应该依赖大小。

    其次,是的,当今浏览器的限制包括名称:这是存储空间(“磁盘空间”)的大小。

    为了避免冲突,我使用命名空间(例如myplugin.mypart.myval)。 5 MB 对于可以随时删除或不再可用的存储空间来说已经很大了,所以我从没想过减小密钥的大小......

    【讨论】:

    • 所以如果可能的话,使用很少的键和合并数据会有好处吗?
    • 如果您真的需要最大限度地利用空间,可以。但请注意,在浏览器中使用非受控空间存在固有限制,可以替换或更糟(大多数人拥有多个浏览器)。
    • 与其说是最小化我自己的存储空间,不如说是最大化其他 JS 脚本的可用空间。 5MB 是相当大的空间......除非每个 JS 脚本都开始将 5MB 视为“相当大的空间”。
    猜你喜欢
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多