Redis学习(3)-----基本原理

思维导图:

引言

    本文是对于Redis原理的初步介绍,涉及到 5个方面,分别是线程IO模型,通信协议,事务,管道和持久化。

 

一.线程IO模型

    Rdies是个单线程程序,这是Reids速度快的一个原因,因为没有线程切换的开销,缺点则是当执行时间复杂度较高的操作或者指令时,可能会导致Reids的卡顿。与此同时,Redis还善于处理多并发客户端连接,而这得益于Redis的IO模型。

    Redis使用了非阻塞IO模型。即当需要读取数据的时候能读多少读多少,而不是一直阻塞,直到读取所需要的全部数据,在写的时候,能写多少写多少,而非一直阻塞,直到写入所有需要写入的数据。使用非阻塞IO可以保证Redis不会因为读写数据二阻塞。因为使用了非阻塞IO,所以存在一个问题,如果读了一半甚至更少就返回或者当写缓存已满却没有写入所有数据时,因为使用了非阻塞IO,此时读写操作就返回了。这个问题的解决,就需要使用到事件轮询机制或者多路复用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值