每次面试都会被扒层皮 去面试,碰到了一个问题,觉得还是挺有技术的 记录生成的时候在表中一个字段,要生成按照自己的规则的编号,但要保证唯一(高并发下生成唯一订单号)
我当时说用锁表的方式,就是我操作的时候整张表都给他锁住,那个架构师说这种方式太慢了,如果用户太多的情况下,很多用户都没办法操作数据了。 我还提了一种方式,就是添加的之前先查询一遍数据库里是否存在,如果存在就无限循环下去,这个也被否定了,如果在查询是否存在的时候产生并发的情况呢,我说在后面加一个长的随机值,架构师说我要的是规则的编号!然后我就扯说不行就用memcached弄个队列,单个的进去操作,架构师没说
后来回来查资料,大部分都是利用锁表的方式,来进行操作,看后面能不能再找到更好的方案,到时候再贴出来
转载请注明原文地址: https://ju.6miu.com/read-22379.html