专栏名称: macrozheng
专注Java技术分享,解析优质开源项目。涵盖SpringBoot、SpringCloud、Docker、K8S等实用技术,作者Github开源项目mall(50K+Star)。
今天看啥  ›  专栏  ›  macrozheng

Redis Plus 来了,性能炸裂!

macrozheng  · 公众号  ·  · 2025-02-06 10:32
    

文章预览

Boot+Cloud项目学习: macrozheng.com KeyDB项目是从redis fork出来的分支。众所周知redis是一个单线程的kv内存存储系统,而KeyDB在100%兼容redis API的情况下将redis改造成多线程。 线程模型 KeyDB将redis原来的主线程拆分成了主线程和worker线程。每个worker线程都是io线程,负责监听端口,accept请求,读取数据和解析协议。如图所示: KeyDB使用了SO_REUSEPORT特性,多个线程可以绑定监听同个端口。 每个worker线程做了cpu绑核,读取数据也使用了 SO_INCOMING_CPU 特性,指定cpu接收数据。 解析协议之后每个线程都会去操作内存中的数据,由一把全局锁来控制多线程访问内存数据。 主线程其实也是一个worker线程,包括了worker线程的工作内容,同时也包括只有主线程才可以完成的工作内容。在worker线程数组中下标为0的就是主线程。 主线程的主要工作在实现serverCron,包括: 处理统 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览