Redis分布式锁

本文将会分为三个版本:初级版、进阶版、近乎完美版来介绍redis分布式锁

进阶的方向主要是在一致性上进行了优化,最后一版可以说是高度一致性!

MySQL事务的隔离级别

很多书都说可重复读解决了幻读问题,比如《mysql技术内幕–innodb存储引擎》等,因此网上关于事务隔离级别的文章大多是有问题的,因此本文会重点说一下

可重复读(Repeatable Read)是否真的解决幻读的问题?!

MySQL索引背后的数据结构及算法原理(转载)

一文通透系列,强烈建议对此有疑问的同学认真观看

文章主要内容分为三个部分。

  • 第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。

  • 第二部分结合MySQL数据库中MyISAM和InnoDB数据存储引擎中索引的架构实现讨论聚集索引、非聚集索引及覆盖索引等话题。

  • 第三部分根据上面的理论基础,讨论MySQL中高性能使用索引的策略。

MySQL锁分析

什么时候加锁,这里有一个万能公式,只需要先问自己三个问题:

  • 当前事务隔离级别是什么
  • id列是否存在索引
  • 如果存在索引是聚簇索引还是非聚簇索引呢?

为什么SELECT * 会导致查询效率低?

总结一下大概是3个原因:

  1. 不需要的列会增加数据传输时间和网络开销
  2. 对于无用的大字段,如 varchar、blob、text,会增加 io 操作
  3. 失去MySQL优化器“覆盖索引”策略优化的可能性

Git使用手册

Git命令日益增多,发现自己竟不太认识这个工具了,今日翻阅Git官方手册,总结以下文章,供日后翻阅。