摘要:
什么是MVCC MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。 我们知道,一般情况下我们使用mysql数据库的时候使用的是InnoDB引擎,I 阅读全文
摘要:
两阶段提交 mysql中经常说的WAL技术,WAL的全称是write-ahead logging,它的关键点就是先写日志,再写磁盘。即当有一条记录需要更新时,InnoDB引擎就会先把记录写道redo log里,并更新内存,这个时候更新就完成了。因为如果每一次的更新操作都需要写磁盘,然后磁盘也要 找到 阅读全文
摘要:
缓存穿透 缓存穿透是指缓存和数据库都没有的数据,用户不断发起请求。由于缓存是不命中时被动写的,并且处于容错考虑,如果从存储层查不到数据则不写入缓存,这样导致一个不存在的数据每次请求都要到存储层去查询,失去缓存的意义。 再流量大时,可能DB挂掉,如果有人利用不存在的key频繁攻击,这就是漏洞。 解决方 阅读全文
摘要:
在高并发的业务场景下,数据库大多情况都是用户并发访问量最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先让问到redis,而不是直接访问mysql等数据库。这样可以 大大缓解数据库的压力。redis缓存数据的加载可以分为懒加载和主动加载两种模式,下面 分别介绍 在这两种模式下的数据一致 阅读全文