雪花算法生成的id重复
·
基于mybatisPlus的默认生成器 - DefaultIdentifierGenerator
场景:压测环境下。单个服务实例
展示部分伪代码
一 场景
原因:saveBatch方法中对象重复了
Man man = new Man();
man = Man.builder().age(1).email("@1").name("name1:").build();
list3.add(man);
list3.add(man);
list3.add(man);
manService.saveBatch(list3);
二 场景
原因:多线程环境
public Thread getThread(){
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
int i = 100000000;
for (int j = 0; j < i; j++) {
long value = identifierGenerator.nextId(new Object()).longValue();
list.add(value);
if (set.contains(value)) {
System.out.println(value);
continue;
}
set.add(value);
}
}
});
return thread;
}
public void idTest1() throws InterruptedException {
getThread().start();
getThread().start();
getThread().start();
getThread().start();
getThread().start();
getThread().start();
getThread().start();
getThread().start();
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)