Redis的线程模型

面试题:

  • redis 和 memcached 有什么区别?
  • redis的线程模型是什么?
  • 为什么单线程的 redis 比多线程的 memcached 效率要高得多?(为什么 redis 是单线程的但是还可以支持高并发)?

redis 最基本的内部原理和特点:redis 实际上是个单线程工作模型

redis 和 memcached 有什么区别

  1. redis 相比 memcached 来说,拥有更多的数据结构并支持更丰富的数据操作。
  2. memcached 没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据;但是 redis 目前是原生支持 cluster 模式的,redis 官方就是支持 redis cluster 集群模式的,比 memcached 要更好。

Redis的线程模型

文件事件处理器

redis 基于 reactor 模式开发了网络事件处理器你,这个处理器叫做文件事件处理器,file event headler。其是单线程的,因此 redis 才叫做单线程的模型。采用 IO多路复用机制同时监听多个 socket,根据 socket 上的事件来选择对应的时间处理器来处理这个事件。

如果被监听的 socket 准备好执行 accept、read、write、close 等操作的时候,跟操作对应的文件事件就会产生,这时候文件事件处理器就会调用之前关联好的事件处理器来处理这个事件。

文件事件处理器是单线程模式运行的,但是通过IO多

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值