我有一个网页,其中包含一个表格,你可以在其中编辑每一个单元格的内容。该表的典型大小约为12列40行。教师通常使用此页面编码我们区域的成绩。但我们的区域有时连接不畅,而且有时老师会丢失他们所做的编码(他们通常只在对所有内容进行编码后才保存)。
所以现在,我正在考虑实现一个autosave特性。我认为我想的解决方案很简单:每次编辑单元格然后失去焦点时,执行一个ajax请求来保存数据。至少我是这么想的。
我担心的是,由于有很多人同时使用这个,那么每一次编辑、访问数据库、插入或更新是不是太重了?而且,我尝试了一下,当从一个单元格移动到另一个单元格时,UI变得有点起伏。我的主要问题是,是否有一个模式或指导方针,我可以用来实现这一点?
我需要更多关于您的api设计的细节,以帮助提出最优的解决方案,但这里有一些高层次的方法,您可以考虑
>
每次更新单元格时,只更新diff(已退出的单元格),而不更新整个数据集,以使api调用尽可能轻量级
在浏览器更新单元格时,请考虑使用IndexedDB或本地存储在浏览器中保存数据的副本。在连接丢失的情况下,您可以恢复用户的会话。