前端用什么技术,才能合理缓存分页结果?

2022-01-31 21:58:39 +08:00
 3dwelcome

举个例子,AJAX 返回了 200 条电影数据,我想把数据直接缓存到前端。

但问题是,当后台数据有更新,新数据怎么以最小的流量,以差分模式,同步到前端?

有点类似数据库的主从备份,有什么好的参考实现吗?

3113 次点击
所在节点    问与答
24 条回复
3dwelcome
2022-02-01 21:03:31 +08:00
@cyrbuzz 是的,只是这样需要前端向后端提交列表有效 ID ,也不能用 GET ,基础查询全部要改用 POST 方法。

Restful 在流泪。
cyrbuzz
2022-02-01 21:48:47 +08:00
@3dwelcome

可以做一下改进,前端只传缓存的最新一个 ID ,后端根据传过来的 ID 查询出这个 ID 之后的内容。前端合并一下结果做下分片,在约定一个参数用来标识出改变分页大小的情况。
fwindcore
2022-02-01 23:41:33 +08:00
搭一个 git 或者 svn 吧😂
3dwelcome
2022-02-02 01:52:28 +08:00
@fwindcore 你还别说,我还真想过类似的。

昨晚在谷歌上找方案,顺藤摸瓜发现 nodejs 里有给 apk 打补丁的差分算法。

分两步,第一步盲测找不同,叫 diff 。第二部打补丁,叫 patch 。

那个算法很强,针对二进制。但是源代码太复杂了点,甚至还有专门的论文。

最后思索半天,还是手写了一个山寨版的。两个 ID 集合不匹配总共有三种可能性,一种是旧数据覆盖更新,一种是插入新数据,一种是删除数据,都判断和处理一次就可以了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/831548

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX