【问题标题】:State vs cookie/localstorage read performance状态与 cookie/本地存储读取性能
【发布时间】:2019-10-24 04:54:01
【问题描述】:

我正在用 React + Redux 开发一个应用程序,我一直有疑问,我找不到关于它的文档。如果在传奇中说,我从 cookie/localStorage 而不是从状态读取数据,是否有任何性能下降?这个读取过程在每次加载时只会发生一次。

这里的关键是性能,而不考虑它是好还是坏。

提前致谢。

【问题讨论】:

    标签: performance cookies redux local-storage state


    【解决方案1】:

    首先 - state 是什么意思?在 redux 中 - state 只是一个普通对象(加上一些方法,但仍然如此)。因此,当您从那里读取数据时 - 您只需从对象中读取道具。

    虽然 cookie,localstorage - 它是 DOM api,首先速度较慢,而且您不仅需要读取数据,还需要解析它(因为 cookie 和存储都使用序列化数据)。所以存储/cookie 肯定比state 慢。

    您可以查看http://jsben.ch/nvo5G

    但是! - 您无法在页面重新加载之间保存内存中的对象状态。因此,为此,您可以使用存储(名为persistent state 的模式。并且可能没有其他方法可以实现此功能(或客户端数据库)-以防您需要在重新加载时恢复某些状态-您只有两个选项-保存在客户端(cookies、storage/db)或服务器上(并执行获取请求)上的状态。

    这是 MICRO 优化,大多数情况下您不应该关心它(在仅在启动应用程序上阅读的情况下)

    【讨论】:

    • 感谢您的回答。是的,实际上我的意思是 redux-state,顺便说一句,我知道这是一个普通的对象。也许,提出问题的正确方法是询问“读取存储在内存中的基本对象(如数字)(如在这种情况下可能是状态)和从 cookie/localStorage 中读取它”,只是为了跳过解析的事情。无论如何,听说 DOM api 更慢很有趣。你有我可以参考的文档吗?再次感谢! ;-)
    • @Eneko 这是 MICRO 优化 - 大多数情况下你不应该关心这些事情(在阅读只是在启动应用程序的情况下) - 你可以在这里找到比较jsben.ch/nvo5G
    • 再次感谢!!该基准非常明确。另外,你说得对,在启动应用程序中单次阅读不应该担心,无论如何这是我非常好奇的事情。无论如何,性能的任何改进都是受欢迎的;-)
    猜你喜欢
    • 1970-01-01
    • 2020-01-10
    • 2020-07-22
    • 2011-03-14
    • 2023-03-07
    相关资源
    最近更新 更多