我有一个问题,我不确定如何优雅地解决。
背景资料
我有一个小部件表。每个小部件都从一系列数字(例如1-999之间)中分配了一个ID。1-999的值在名为“ config”的表中保存为“ lower_range”和“ upper_range”。当用户请求使用我的Web应用程序创建新的窗口小部件时,我需要执行以下操作:
问题
我发现上述逻辑有两个问题:
任何建议,将不胜感激。谢谢
提前生成您的随机数并将其存储在表格中;确保数字是唯一的。然后,当您需要获取下一个号码时,只需检查已经分配了多少个号码,然后从表格中获取下一个号码即可。所以,代替
做这个:
GetNextId
return ids[currentMaxId+1]
要管理同时发生的请求,您需要具有一些生成正确序列的资源。最简单的方法可能是将小部件表中的键用作ids数组中的索引。因此,首先将记录添加到widgets表中,获取其键,然后使用生成窗口小部件ID ids[key]。
ids
widgets
ids[key]