
数据库
BDuck2014
B-Duck-No1
Sunny~
展开
-
InnoDB——锁、事务和复制
锁数据库系统使用锁是为了支持对共享资源进行并发访问,提供数据的完整性和一致性。InnoDB存储引擎中的锁共享锁(S Lock),允许事务读一行数据排他锁(X Lock),允许事务删除或更新一行数据兼容性:S与S可以兼容X不与任何锁兼容InnoDB支持多粒度锁定,也就是允许行级和表级的锁同时存在。实现方式为通过意向锁(Intention Lock):如果需要对最细粒度进行加锁...原创 2019-12-16 21:16:23 · 238 阅读 · 0 评论 -
InnoDB——架构、日志、表和索引
前言写这篇博文是为了将自己学习完InnoDB的内容梳理一遍。InnoDB是个很复杂很庞大的存储引擎,其中的细节显然是不可能通过一篇文章或者笔记完整地描述出来的,所以这里主要目的是“补漏”,也就是将以前学习MySQL没有了解到的InnoDB“专属”的内容进行梳理和记录。学习的主要来源是姜承尧老师的《MySQL技术内幕——InnoDB存储引擎》一书,国内除了这本书以外,也鲜有对InnoDB进行详细...原创 2019-12-15 15:41:47 · 277 阅读 · 0 评论 -
Redis 6.0新特性——ACLs
Redis 6.0新特性介绍在2019年纽约的Redis Day上,Salvatore Sanfilippo(AKA Antirez)介绍了即将发布的Redis 6.0的新特性。以下是关于ACLs听译的内容。ACLs简介在过去的十年中,Redis都会有这样的问题:用户执行FLUSHALL,OK现在整个数据库就空了,或者执行DEBUG SEGFAULT,然后Redis的进程就crash退出了...原创 2019-11-24 19:55:32 · 2046 阅读 · 0 评论 -
Redis的ZSET的实现及结合源码的跳跃表结构分析
O(1)的skiplist成员查找?众所周知Redis中每种基本类型都有2种或以上的底层实现,一般谈到ZSET,我们会说它的实现是基于ziplist和skiplist的,这没有问题:当ZSET长度小于设定值(zset-max-ziplist-entries)或成员的长度小于设定值(zset-max-ziplist-value)时会使用ziplist的实现,否则使用skiplist实现但是...原创 2019-09-08 13:28:56 · 868 阅读 · 1 评论