03 2022 档案
摘要:作用:多线程的时候确保一段代码只有一个线程访问 例子: var innum = 0; var outnum = 0; for (int i = 0; i < 5; i++) { Task.Run(() => { Console.WriteLine($"lock外代码:{outnum % 2 == 0
阅读全文
摘要:1.缓存击穿 描述:缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力 解决方案: 设置热点数据永远不过期,修改时set数据(不建议,业务变动会产生许多没用的缓存key,后期不好维
阅读全文