erpeng's code area


  • Home

  • Tags

  • Archives

Mysql 索引

Posted on 2019-04-22 |
引言理解Mysql的索引参考极客时间mysql45讲之第4讲,5讲,9讲,10讲,11讲,18讲 不同的索引||哈希索引|有序数组|树||——-|——-|—-||增 |最快 | 慢 | 快||查 | 最快 | 快 | 快||范围查 | 慢 | ...
Read more »

Mysql redo binlog 主从及其延迟

Posted on 2019-04-22 |
引言理解Mysql的redo log,binlog,主从及其延迟参考极客时间mysql45讲之第2讲,12讲,15讲,23讲,24讲,25讲,26讲,27讲,28讲 redolog与binlogredolog 固定大小,循环写入 redolog相比直接在磁盘中写入修改的好处是将随机写转换为顺序写,并 ...
Read more »

Mysql 隔离级别、锁、MVCC示例

Posted on 2019-04-20 |
引言通过构造示例,理解Mysql的隔离级别及其锁和MVCC的实现参考极客时间mysql45讲之第3讲,7讲和8讲,19讲,20讲 事务隔离级别 RU 读未提交 RC 读已提交 RR 可重复读 S 顺序读 123表结构create table T(c int) engine=InnoDB;inse ...
Read more »

Redis module开发

Posted on 2019-04-17 |
module的作用redis通过对外提供一套API和一些数据类型, 可以供开发者开发自己的模块并且加载到redis中.通过API可以直接操作redis中的数据,也可以通过调用redis命令来操作数据(类似lua script).通过编写模块可以注册自己的命令到redis中. 编写一个module我们 ...
Read more »

Sqlite Write-Ahead Logging

Posted on 2019-04-16 |
这篇文章译自Sqlite官方文档,介绍另一种保证Sqlite原子性的机制,Write-Ahead logging Sqlite WAL原文链接:https://www.sqlite.org/wal.html 1.概览Sqlite中默认保证原子性的机制是rollback journal,从3.7. ...
Read more »

Redis的一个历史bug及其后续改进

Posted on 2019-04-15 |
ziplist简介Redis使用ziplist是为了节省内存.以zset为例,当zset元素个数少并且每个元素也比较小的时候,如果直接使用skiplist(可以理解为多层的双向链表),每个节点的前后指针这些元数据占用空间的比例可能达到50%以上.而ziplist是分配在堆上的一块连续内存,通过一定的 ...
Read more »

Sqlite如何实现ACID中的原子性

Posted on 2019-04-13 |
这个文章序列关注Sqlite的原子性实现.首先翻译一篇官方文章,介绍Sqlite的 rollback journal,然后结合一些问题通过源码分析一下具体实现.后续几篇关注Sqlite3.7.0之后的另一种保证原子性的实现 WAL(write ahead log).注意Sqlite以静态或者动态库 ...
Read more »

Redis中查找大key

Posted on 2019-02-13 |
redis-cli提供的方法注意以下所有试验基于redis 5.0.3版本 redis-cli 提供一个bigkeys参数,可以扫描redis中的大key 1--bigkeys Sample Redis keys looking for big keys. 执行之后输出如下所示: ...
Read more »

Redis的resp协议

Posted on 2019-01-31 |
resp协议redis客户端和服务端交互使用的是redis作者制定的一个协议,叫resp(REdis Serialization Protocol)。 具体分如下几个层次 基于tcp 请求响应模式,但在两种情况下不再是简单的请求和响应模式(下文介绍) 支持五种类型的数据,分别是简单字符串,错误,整 ...
Read more »

codis proxy处理流程

Posted on 2019-01-10 |
proxy启动cmd/proxy/main.go文件 解析配置文件之后重点是proxy.New(config)函数 该函数中,首先会创建一个Proxy结构体,如下: 1234567891011type Proxy struct { mu sync.Mutex ... confi ...
Read more »
<1…789>

87 posts
43 tags
GitHub
© 2022 erpeng
Powered by Hexo
|
Theme — NexT.Muse v5.1.4