数据库
文章平均质量分 72
蛋哥tatan
梦想年薪30个w的在校大学生
展开
-
MySQL-锁
锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源(CPU、RAM、I/0)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。这里按照锁的粒度分(也就是锁的作用范围):来看不加锁的这个场景:再看加锁:备份完释放锁! 演示一下: 模拟三个会话全局锁存在的问题:数据库中加全局锁,是一个比较重的操作,存在以下问题: (原创 2024-08-18 21:25:49 · 1749 阅读 · 0 评论 -
Redis缓存更新策略
原因在于,如果你选择第一种方案,在两个线程并发来访问时,假设线程1先来,他先把缓存删了,此时线程2过来,他查询缓存数据并不存在,此时他写入缓存,当他写入缓存后,线程1再执行更新动作时,实际上写入的就是旧的数据,新的数据被旧数据覆盖了,但实际上两种都有问题,但相对1来说,先操作数据库,再删好一点。缓存更新是redis为了节约内存而设计出来的一个东西,主要是因为内存数据宝贵,当我们向redis插入太多数据,此时就可能会导致缓存中的数据过多,所以redis会对部分数据进行更新,或者把他叫为淘汰更合适。原创 2024-05-22 22:44:36 · 197 阅读 · 1 评论
分享