用户头像

程序员历小冰

程序员历小冰

2018.4.28 加入

历小冰的技术博客,专注于探讨后端生态的点点滴滴,内容包括微服务、分布式、数据库、性能调优和各类源码分析。
关注
  • 8

    发布数

  • 14

    关注者

  • 1

    关注了

用 Explain 命令分析 MySQL 的 SQL 执行
用 Explain 命令分析 MySQL 的 SQL 执行

在上一篇文章《MySQL 常见加锁场景分析》中,我们聊到行锁是加在索引上的,但是复杂的 SQL 往往包含多个条件,涉及多个索引,找出 SQL 执行时使用了哪些索引对分析加锁场景至关重要。

MySQL死锁系列-常见加锁场景分析
MySQL 死锁系列 - 常见加锁场景分析

在上一篇文章《锁的类型以及加锁原理》主要总结了 MySQL 锁的类型和模式以及基本的加锁原理,今天我们就从原理走向实战,分析常见 SQL 语句的加锁场景。了解了这几种场景,相信小伙伴们也能举一反三,灵活地分析真实开发过程中遇到的加锁问题。

Java 数据持久化系列之JDBC
Java 数据持久化系列之 JDBC

前段时间小冰在工作中遇到了一系列关于数据持久化的问题,在排查问题时发现自己对 Java 后端的数据持久化框架的原理都不太了解,只有不断试错,因此走了很多弯路。于是下定决心,集中精力学习了持久化相关框架的原理和实现,总结出这个系列。

Redis 命令执行过程(下)
Redis 命令执行过程 (下)

在上一篇文章中《Redis 命令执行过程 (上)》中,我们首先了解 Redis 命令执行的整体流程,然后细致分析了从 Redis 启动到建立 socket 连接,接下来具体看一下 set 和 get 命令的实现细节和如何将命令结果通过输出缓冲区和 socket 发送给 Redis 客户端。

带你100% 地了解 Redis 6.0 的客户端缓存
带你 100% 地了解 Redis 6.0 的客户端缓存

近日 Redis 6.0.0 GA 版本发布,这是 Redis 历史上最大的一次版本更新,包括了客户端缓存 (Client side caching)、ACL、Threaded I/O 和 Redis Cluster Proxy 等诸多更新。我们今天就依次聊一下客户端缓存的必要性、具体使用、原理分析和实现。

Redis 命令执行过程(上)
Redis 命令执行过程 (上)

今天我们来了解一下 Redis 命令执行的过程。在之前的文章中《当 Redis 发生高延迟时,到底发生了什么》我们曾简单的描述了一条命令的执行过程,本篇文章展示深入说明一下,加深读者对 Redis 的了解。

MySQL的死锁系列- 锁的类型以及加锁原理
MySQL 的死锁系列 - 锁的类型以及加锁原理

总结出一个系列有关 MySQL 死锁的文章供大家参考。本篇是上篇,主要介绍 MySQL 加锁原理和锁的不同模式或类型的基本知识。后续会讲解常见语句的加锁情况和通过 MySQL 死锁日志分析死锁原因。

当 Redis 发生高延迟时,到底发生了什么

Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是 Redis 也会发生延迟时,这是就需要我们对其产生原因有深刻的了解,以便于快速排查问题,解决 Redis 的延迟问题。

程序员历小冰