最直观的解决方法就是在查询第二页数据时,排除掉已经加载数据的id,但感觉这种做法并不是很好。还有其他方法解决吗?
这个问题我们在做系统时一般不考虑。
一是这种问题解释起来很好解释,客户一般都会理解。
二是一般查数据报表数据不会经常变动。
三是如果真的是经常变动,客户也不同意这种使用方式,那么最好的方法是重新设计查询的逻辑。
15 回答8.4k 阅读
7 回答5.3k 阅读
6 回答6.9k 阅读✓ 已解决
8 回答6.2k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答4k 阅读
1 回答3k 阅读✓ 已解决
想要保持一致性,就得牺牲点什么。
1.查询全部数据,前端分页。我觉得这是一种比较好的解决方案了。
2.加上一个变动时间字段,或者设置缓存,只能查询某一段时间内的数据,在一定时间之后在更新,这样或许更让人容易接受。时间越长,一致性越好,准确度就越低。
3.可以考虑加个过滤缓存什么的,但为每个客户都建立一个缓存感觉也挺麻烦的,而且分页会受到影响。
4.最后,吐槽下这种啥都想要的需求,一致性也需要,实时性也需要,就像多线程转单线程一样,牺牲的自然是效率。