04 2022 档案

摘要:本章主要讨论在client连接到server时。server在ae过程中是如何处理的。 主要讨论的是接口函数。 大家可以把断点打在networking/acceptTcpHandler()下 以上函数在ae.c下如下部分调用: if (!invert && fe->mask & mask & AE_ 阅读全文
posted @ 2022-04-19 23:54 拿什么救赎 阅读(49) 评论(0) 推荐(0) 编辑
摘要:书接上回,redis进入ae事件监听了。 相关的c文件都以ae开头,比如ae.c ae_epoll.c ae_ecport.c ae_select.c ae_kqueue.c ae相关的结构体在server.h的redisServer下的aeEventLoop结构体(eventloop)。 /* S 阅读全文
posted @ 2022-04-12 23:58 拿什么救赎 阅读(291) 评论(0) 推荐(0) 编辑
摘要:redis版本:6.2.6 为了调试方便,配置文件绝大部分保持一致,只修改如下: daemonize no。 关闭后台运行。这会影响debug,因为在server.c/6312行会进入daemonize(),然后执行setsid(),这样会导致debug退出。 然后将断点打在server.c/615 阅读全文
posted @ 2022-04-10 00:59 拿什么救赎 阅读(148) 评论(0) 推荐(0) 编辑
摘要:前几个月遇见了一个线上故障。 在mysql drop了一张大表后,空间竟然没有释放。从占用的空间来看,drop此表后,磁盘占用应该会有明显的下降。 记录一下解决过程 mysql版本:5.7 1.首先ps -ef | grep mysql 拿到mysql的pid 2.然后lsof -p `pid of 阅读全文
posted @ 2022-04-06 23:02 拿什么救赎 阅读(1332) 评论(0) 推荐(0) 编辑
摘要:最近在学习redis的源码。在网上看了很多相关环境搭建。发现用的都是JetBrains的Clion。vs code相关的资料很少。 所以在此介绍一下如何用vscode 搭建redis debug环境。 一.linux配置: 很简单。把redis的源码包放在你想放的文件目录下就行了。git clone 阅读全文
posted @ 2022-04-05 21:27 拿什么救赎 阅读(213) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示