【问题标题】:Where does ExtJS's store keeps all the dataExtJS 的 store 将所有数据保存在哪里
【发布时间】:2013-11-18 09:45:01
【问题描述】:

我想知道 ExtJS 将所​​有数据保存在哪里?我知道数据存储在内存中,但我想知道它是在内部使用 HTML 5 本地存储还是使用了任何其他技术?

谢谢, 深入了解

【问题讨论】:

    标签: html extjs extjs4.1 extjs-stores


    【解决方案1】:

    视情况而定。

    在任何情况下,商店的数据都存储在 Javascript 对象中。商店通过代理保存其数据。如何存储这些数据是一个配置问题。您可以配置不同类型的代理:

    客户端存储

    • Lo​​calStorageProxy - 如果浏览器支持,则将其数据保存到 localStorage
    • SessionStorageProxy - 如果浏览器支持,则将其数据保存到 sessionStorage
    • MemoryProxy - 仅在内存中保存数据,刷新页面时所有数据都会丢失

    服务器端存储

    • Ajax - 向同一域中的服务器发送请求
    • JsonP - 使用 JSON-P 向不同域上的服务器发送请求
    • Rest - 使用 RESTful HTTP 方法 (GET/PUT/POST/DELETE) 与服务器通信
    • 直接 - 使用 Ext.direct.Manager 发送请求

    更多详情请联系in the docs

    【讨论】:

    • 感谢您的回答。使用 LocalStorageProxy 和 SessionStorageProxy 时,即使页面被引用,系统是否会持久化数据?
    • 是的,对于 SessionStorage,数据会一直保存到会话被销毁,对于 LocalStorage,数据会一直保存到用户清除 HTML5 LocalStorage 缓存。
    • 感谢您的快速回复。我还有一个问题。如何在 ExtJs 上下文中定义会话?
    • sessionStorage 与 Ext 无关。 w3schools.com/html/html5_webstorage.asp 说:sessionStorage 对象等于 localStorage 对象,只是它只存储一个会话的数据。当用户关闭浏览器窗口时,数据被删除。 我不使用这个,我在我的项目中使用服务器端存储。所以我没有本地和会话存储方面的经验
    【解决方案2】:

    数据存储在称为MixedCollection 的内存集合中。它是一个有序的集合,但它也允许你按键查找数据,所以它就像一个有序的 hashmap。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      • 2013-11-16
      • 2012-03-09
      • 2012-07-07
      • 2010-12-20
      • 2011-10-29
      • 2017-03-09
      相关资源
      最近更新 更多