前言:瞎写了一阵子gbdb,发现问题很多,瞅着时间看了下innodb的代码。主要是缓存池和mtr部分。记录:buffer_pool 初始化过程 开辟内存空间block 绑定 frame(包含页方法) 由于开辟的空间是连续的所以可以通过block的内存空间指针来寻址,然后查找对应的frame就能拿到页的信息(学到了…之前一直还在传递页和sp……继续阅读 » cyanprobe 6年前 (2019-06-15) 2147浏览 0评论0个赞
前言: 写一下关于最近接触到的问题.正文: 间隙锁问题: 间隙锁产生原因检索范围或者不存在的记录. 例如 检索id 为1-8,或者检索 id = 16 但此记录不存在.无论rc还是rr隔离级别,检索不存在的记录都会产生间隙锁(即使是非范围的索引).锁定的范围是上一个id索引存在记录到下一个索引存在记录如 id = 13 存在……继续阅读 » cyanprobe 6年前 (2019-04-18) 2292浏览 1个赞
话入正题:迁移到了新的主机环境 php7.1可以用最新的云落主题了,之前的文章全部锁死,写博已经7年时间了,之前记录了很多生活,而今年和去年对我来说又是非常不寻常的一年.标签不知道除了什么bug,研究了下wp的数据库结构大概是因为没有正常升级这次大版本原因,,也不打算修复了,删了标签,也准备重写.近况是从国泰思科离职, 进入了一个能有独立开发机会的游……继续阅读 » cyanprobe 6年前 (2019-04-16) 4838浏览 0评论1个赞
前言:最近grpc有点火,正好项目用到rpc调用,记录一下。grpc.ServerCredentials.createSsl 这个API有多不稳定,短短一年各种写法横空出世。在最新的版本中是这样写的…浪费了一下午时间查文档,而且文档还停留在…https://grpc.io/grpc/node/grpc.ServerCredent……继续阅读 » cyanprobe 6年前 (2018-11-15) 4793浏览 0评论0个赞
前言:最近折腾如下,很少时间在博客上分享了,除了有重大的东西折腾完成(比如gbdb)。目前主要在知乎上更新:C++ 从入门到放弃这个专栏还没有生成完成,但是已经陆续开始更新自己的学习心得了。go-linkedHashMap最近还折腾了这个东西算是一个LRU的简单实现吧-用了一个数据结构,但是gbdb并没有用到,因为这单独实现了hash和link还……继续阅读 » cyanprobe 7年前 (2018-05-27) 3838浏览 0评论1个赞
前言:看到我居然还有博友…昨天还有人要友链我…好吧,出来冒下泡吧。其实最近我只是死掉了而已。最近再看数据库相关的东西,买了4本mysql相关的书籍。《数据库系统实现》《mysql运维内参》《mysql Innodb引擎实现》《mysql从删库到跑路》。 强烈推荐运维内参正文基术方面:实在没什么分享的,因为进度很吃紧,本来准……继续阅读 » cyanprobe 7年前 (2018-02-04) 7788浏览 5评论4个赞
前言:自己写的不BB,思路差很多,这是golang实现版。 可以看一下博客园的图解,要冷静下来思考,还是很有趣的。package treeimport ( "container/list")//二叉排序树树type BSTree struct { root *BSTNode size int}//二叉树节点typ……继续阅读 » cyanprobe 7年前 (2017-11-13) 4995浏览 0评论2个赞
前言:此话题说来话长,老大让写多个查询接口,尽量考虑索引使用,因为数据非常多,不使用索引查询很慢,于是乎,我写了一个通用查询接口,指定索引生成query对象。根据mongo权威指南的说法 建立复合索引 A_1_B_1_C_1 此时可用索引为 A-B-C |A-B| A 三种, 跟DBA说了讨论了这个问题(PS:我也不想讨论但是已经写完了真的懒得改了),老……继续阅读 » cyanprobe 7年前 (2017-10-10) 4899浏览 1评论1个赞
前言:搭go学习web架子的时候看需要验证码看了网上一种实现。正文:其实就是绘制点, 网上的demo都有一个字符对应的过程生成256标准的字符对应表喵??搞了半天也不知道为什么这么做,我还以为要增加随机性(防止机器人模拟随机??)网上问了很多人,也看了所谓的这段代码的注释详解。最后我特么才发现 ——他这复制的uniuri的源码,其实根本无卵用。我靠,那……继续阅读 » cyanprobe 7年前 (2017-09-03) 5448浏览 2评论1个赞
前言:公司转栈,已是前端….正文:项目的坑如下 巨坑 rethinkdb 真的是学到了,之前都不知道还有这个东西,在并行10做map操作的时候,对一个表进行多次扫描导致连接不能释放cpu压力250%爆炸,对集合进行比较复杂的聚合操作加上并行直接GG 此数据库在集合层面还不能保证原子性,可以说是项目重构的主要原因。 rethinkdb插入查询……继续阅读 » cyanprobe 7年前 (2017-08-20) 4724浏览 1评论2个赞