Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个简单的排行榜系统。当这需要 2 个查询(一个用于获取其分数在表中的位置,另一个用于获取围绕它的页面)并且可能会在它们之间到达新的分数时,如何将结果页面居中于用户分数。锁定桌子是唯一的方法吗?还是有某种原子方法?如果我在偏移值中嵌入查询,那是原子的吗?
最简单的解决方案之一是在两侧获得可见页面+一些额外的。即使有新记录出现,您也应该几乎总是有足够的数据将 UI 集中在活动玩家身上。
但是,您应该始终准备好处理没有足够的数据来使玩家居中 - 排行榜的顶部和底部等。
如果播放器根本没有出现在页面中,您必须再提出一两个请求。但是,玩家在短时间内(几秒钟内完成两个查询)被推出页面的几率非常低,因此只要 UI 不挂起,体验应该还不错。