目录
一、说一下redis的应用场景
Redis 6.0 源码阅读笔记(2)-Redis 多线程原理_谈谈1974的博客-优快云博客_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等