Simon's | Blog

Why so serious?

InnoDB中的锁机制

"InnoDB中的锁机制"

“Better code, better life. ” InnoDB中的锁机制 MySQL 中有三种级别的锁:页级锁、表级锁、行级锁。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 会发生在:MyISAM、memory、InnoDB、BDB等存储引擎中。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,...

Redis数据结构-Redis对象

"Redis源码学习"

“Better code, better life. ” Redis数据结构–Redis对象 在 Redis 的命令中,用于对键(key)进行处理的命令占了很大一部分, 而对于键所保存的值的类型(后简称“键的类型”),键能执行的命令又各不相同。 比如说, LPUSH 和 LLEN 只能用于列表键, 而 SADD 和 SRANDMEMBER 只能用于集合键, 等等。 另外一些命...

MYSQL如何保证事务的ACID特性的

"MYSQL如何保证事务的ACID特性的"

“Better code, better life. ” MYSQL如何保证事务的ACID特性 本篇文章源于之前的一场面试,面试官问了这个问题:MYSQL如何保证事务的原子性?当时只回答了WAL(Write Ahead Log)机制,但其中的一些细节就不甚了解了,所以这次要彻底搞明白。 事务的特性 什么是事务?事务是指作为单个逻辑工作单元执行的一系列操作,这些操作要么...

ARTS-WEEK9

"ARTS打卡记录"

“Better code, better life. ” ARTS打卡第九周 Algorithm [题目] : [题解] : Review [文章链接] : [笔记] : Tips Share Redis数据结构-压缩列表

Redis数据结构-压缩列表

"Redis源码学习"

“Better code, better life. ” Redis数据结构–压缩列表 压缩列表(ziplist)是列表键和哈希键的底层实现之一。当一个列表键只包含少量列表项,并且每个列表项要么是小整数值,要么就是长度比较短的字符串,那么Redis就会选择使用压缩列表来做列表键的底层实现。 ziplist 是由一系列特殊编码的内存块构成的列表, 一个 ziplist 可...

Redis数据结构-整数集合

"Redis源码学习"

“Better code, better life. ” Redis数据结构–整数集合 虽然内部数据结构非常强大, 但是创建一系列完整的数据结构本身也是一件相当耗费内存的工作, 当一个对象包含的元素数量并不多, 或者元素本身的体积并不大时, 使用代价高昂的内部数据结构并不是最好的办法。 为了解决这一问题, Redis 在条件允许的情况下, 会使用内存映射数据结构来代替...

ARTS-WEEK8

"ARTS打卡记录"

“Better code, better life. ” ARTS打卡第九周 Algorithm [题目] : [题解] : Review [文章链接] : [笔记] : Tips Share Redis数据结构-压缩列表

ARTS-WEEK8

"ARTS打卡记录"

“Better code, better life. ” ARTS打卡第八周 Algorithm [题目] :https://leetcode-cn.com/problems/is-subsequence/ [题解] : class Solution { public: bool isSubsequence(const string &s, const st...

ARTS-WEEK7

"ARTS打卡记录"

“Better code, better life. ” ARTS打卡第七周 Algorithm [题目] :https://leetcode-cn.com/problems/unique-paths-ii/solution/ [题解] : 一道最典型的动态规划题目,这里注意一下如何用malloc来创建二位数组 class Solution { public: i...

Redis数据结构-跳跃表

Redis源码学习

“Better code, better life. ” Redis数据结构–跳跃表 skiplist本质上也是一种查找结构,用于解决算法中的查找问题(Searching),即根据给定的key,快速查到它所在的位置(或者对应的value)。 Redis里面使用skiplist是为了实现sorted set这种对外的数据结构。sorted set提供的操作非常丰富,可以满足非常多...