我有这个代码:
localStorage.setItem('try', '1');
setTimeout(function(){localStorage.setItem('try', '2');}, 2000);
while(localStorage.getItem('try') == '1')
{
console.log('a');
}
Run Code Online (Sandbox Code Playgroud)
为什么它不起作用?这个while循环应该工作,直到localStorage.getItem('try')=='1'.2秒后localStorage.setItem('尝试','2')所以这应该停止但不做:(为什么?我应该用它来使它工作?
我想问一下 CrudRepository 中 save() 的性能。首先是代码示例。
for(int i=0; i<5000; i++){
Example example = new Example(0, true, false, i, "example");
example = exampleRepository.save(example);
List<ChildExample> childExamples = new ArrayList<>();
ChildExample childExample = new ChildExample(0, i, true, example);
childExamples.add(childExample);
childExampleRepository.saveAll(childExamples);
}
Run Code Online (Sandbox Code Playgroud)
这只是一个示例,但所有内容都必须保持在其位置(例如创建示例列表,然后使用 saveAll、使用级联等。这是不允许的)。
我观察到了什么?前 2000 个对象的保存速度非常快 - 比方说:10 分钟。但是 - 接下来的 2000 个被保存的时间要长得多,大约 30 分钟。这是为什么?为什么保存每个后续的时间需要更长的时间?如果我使用 JpaRepository 和 saveAndFlush() 会怎么样?如果我使用 saveAndFlush() 会缩短这个过程吗?