Gan*_*row 8 javascript java caching angularjs
介绍:
我在后端有一个复杂而持久的查询,反馈前端的角度应用程序.
目前,角度应用程序使用后端的缓存数据,而不是直接从复杂查询中读取,这需要几分钟时间.缓存每天早上和晚上变暖.
当用户对ui进行更改并保存数据时,然后将数据传递到服务器端,并保存到数据库中.那时UI是最新的,直到用户刷新页面.同时数据库是最新的,但缓存是陈旧的.
因此,当用户刷新页面时,页面上会显示过时的缓存值.
更多信息:
我现在正在考虑刷新缓存的方法,并且欢迎来自更有经验的人的任何建议.
我的想法是通过缓存作业(一次一个)刷新缓存,一旦用户保存了某些内容就会排队.该作业将具有更改的相关信息,并且不必重新计算整个缓存,而只需更改的位.
问题部分:
即使用户刷新页面,我还可以使用哪种技术让用户及时了解数据?当数据发送到服务器时,我应该以indexedDB或localstorage的形式在客户端保存"增量".因此,当页面刷新时,用户从localstorage或索引的db读取数据.
我还在想这个低谷,显然我对此没有多少经验,对我到目前为止所采取的方向有何评论?
基本上我可以改变任何东西,包括后端/前端/缓存,它仍处于POC阶段,我只是尽可能地了解对其他人有用的东西.
更新
多一点背景.我正在处理像页面这样的索引,因此可以在线编辑多个记录.
此外,我正在对后端的平面db记录进行一些转换,然后将它们像结构一样转储到地图中,并以json的形式传递给前端.
我认为最简单的方法是确保您知道缓存的创建时间。当您进行更改时,将页面的当前状态以及缓存的时间保存在 localStorage 中。当您加载页面时,您会获取缓存的数据,检查它是否比您的 localStorage 版本更新。如果是,请使用缓存,如果不是,请从 localStorage 重新加载数据,因为它已经包含缓存数据以及您的更改。
| 归档时间: |
|
| 查看次数: |
276 次 |
| 最近记录: |