技术共享

Redis 线程模型

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

0、参考

【Redis线程模型】
【big key 排查和解决思路】

1、 Redis 单线程的理解

为什么单线程:CPU不是性能瓶颈(内存和网络),单线程能够达到业务要求

网络IO和键值对读写都是由一个线程完成的

在这里插入图片描述

2、 Redis 多线程的理解

持久化(aof、rdb)、异步删除(big key)、数据复制(主从、哨兵、集群)采用多线程

在这里插入图片描述

3、 单线程IO的挑战:big key问题

详细:【big key 排查和解决思路】

正常情况下使用 del 指令可以很快的删除数据,而当被删除的 key 是一个非常大的对象时,例如时包含了成千上万个元素的 hash 集合时,那么 del 指令就会造成 Redis 主线程卡顿

Big Key问题本质是Big Value问题

在这里插入图片描述

3.0 模拟插入100w数据

for((i=1;i