【发布时间】:2014-12-08 20:32:51
【问题描述】:
为页面渲染处理来自客户端存储的数据的最佳方式是什么? 为了让情况更清楚:我们打算拥有灵活的抽象架构 - 后端可以更改事物,并且应该导致前端部分的更改。
因此,例如,在前端,我得到了具有基本结构的深层嵌套 JSON - 可用的服务、属性等。我想将它解析为一些普通数组,使用这个数组进行页面渲染(使用适当的小部件来处理不同类型的服务),并存储在一些客户端存储中以备将来使用,当用户再次访问该页面时 - 使用来自客户端的先前缓存的数据进行页面渲染(如果服务器上没有添加新服务)。 我打算使用的技术是 angularJS、localForage 和 angular-localforage lib。 所以,我有以下问题:
- 处理数据的最佳方式是什么 - 我计划在一个事务中从客户端存储中获取整个数组(关于特定页面),然后将其放入 Angular 应用程序中并从应用程序中使用,然后用于页面渲染。是否合适且有效?或者也许我应该逐个服务地获取日期数据小交易?将数据缓存到客户端存储也是同样的问题。
- 如果我有一些大交易,我是否有使其他事情变慢的风险,或者这种风险在包装或存储架构中被抵消了?
- 我找不到有关迁移以防用户更改存储类型的实际信息 - 例如从 localStorage 到 indexeddb。 The issue is open,所以看来我每次都需要检查存储类型,如果发生更改 - 再次从服务器重新缓存数据。这是唯一可能的方法吗?
- 所选架构/技术是否存在任何问题/缺点?您能否建议更改或添加某些内容?
- 什么适合在 localForage 提供的简单键值结构中搜索数据片段?例如,如果我需要 parent_id=42 的元素 - 我是否应该获取应用所需的全部数据,组织它,并在应用程序中执行查询?还是做一些棘手的存储结构?还是有更好的方法?
【问题讨论】:
-
数据大小,需要检索多少条记录?
-
@DeniSpasovski,目前我所说的模板结构由 81 个相互关联的元素组成,每个元素有 13 个属性。但我想它会在生产中增长;也可以与其他结构一起使用。
标签: javascript angularjs local-storage indexeddb localforage