摘要: 多线程模式中,在main函数中会执行InitServerLast void InitServerLast() { bioInit(); // 关键一步, 这里启动了多条线程,用于执行命令,redis起名为IO 线程 initThreadedIO(); set_jemalloc_bg_thread(s 阅读全文
posted @ 2023-10-02 17:56 明月照江江 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 有了下文的梳理后 redis 启动流程 再来解析redis 在单线程模式下解析并处理客户端发来的命令 1. 当 client fd 可读时,会回调readQueryFromClient函数 void readQueryFromClient(connection *conn) { client *c 阅读全文
posted @ 2023-10-02 15:30 明月照江江 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 1. redis 由 server.c 的main函数启动 int main(int argc, char **argv) { ... // 上面的部分为读取配置和启动命令参数解析,看到这一行下面为启动流程 serverLog(LL_WARNING, "oO0OoO0OoO0Oo Redis is 阅读全文
posted @ 2023-10-02 13:07 明月照江江 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 1. 可以从单元测试开始入手 查看类JedisSentinelPool private static final String MASTER_NAME = "mymaster"; protected static final HostAndPort sentinel1 = HostAndPorts. 阅读全文
posted @ 2023-10-02 10:21 明月照江江 阅读(349) 评论(0) 推荐(0) 编辑