redis2

发布于:2023-01-01 ⋅ 阅读:(412) ⋅ 点赞:(0)

目录

一、说一下redis的应用场景

二、redis是单线程还是多线程

三、redis存在线程安全问题么

四、缓存的过期和淘汰/回收


一、说一下redis的应用场景

Redis 6.0 源码阅读笔记(2)-Redis 多线程原理_谈谈1974的博客-CSDN博客_redis多线程原理(6.x IO多线程)

Redis 6.0 中一个重大的改变就是引入了多线程IO。我们都知道 Redis 基于内存操作,几乎不存在 CPU 成为瓶颈的情况, 它主要受限于内存和网络。从 Redis 自身角度来说,读写网络的 read/write 系统调用占用了 Redis 执行期间大部分 CPU 时间,瓶颈其实主要在于网络的 IO 消耗。基于这种情况,Redis 优化的方向在于提高网络 IO 性能,而一个简单有效的方法就是使用多线程任务分摊 Redis 同步 IO 读写的负荷

二、redis是单线程还是多线程

三、redis存在线程安全问题么

单线程,串行执行的所以redis内部是不会存在线程安全问题的。

四、

根据key取不到value值才会加锁,这种特殊情况

四、缓存的过期和淘汰/回收

淘汰是指内存不够时,把一些key淘汰。而回收则跟key的过期有关。

回收分为两种:主动和被动

1,后台轮询,分段分批的删除哪些过期的key

2,请求的时候判断哪些key是过期的

目的都是尽可能把内存中的无用空间收回来

淘汰:

淘汰策略:lru/lfu/randow/TTL等

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到