当前位置: 首页 > news >正文

Redis三个版本(3.x,4.x,6.x)对于多线程的使用比对

文章目录

    • 概要
    • 3个版本的对比
    • 小结

概要

对于redis我们一直有一个误区就是redis就是单线程,其实这个是很早的redis的版本了,在4.0版本以下,redis确实只使用了单线程,对于4.x的版本,redis虽然引入了多线程但是实际使用并不多,对性能提升也比较有限,导致了大家对于redis的多线程这个概念比较忽视,但是对于redis6.x的版本,redis多线程对于性能的提升还是很大的。

3个版本的对比

  • redis 3.x不支持多线程,请求数据顺序执行,对于多个客户端并发访问redis-server时的执行状态如下,我们假如每个圆圈的执行时间是一致的代表一个执行单位,那么redis3.x的执行时间就是六个执行单位。
    在这里插入图片描述

  • . 对于redis4.x而言,其能支持的多线程的命令比较有限。

    1. ***unlink:***用于删除指定的 key ,就像 DEL 一样,如果 key 不存在,则将其忽略。
    2. ***flushall :***清空整个 Redis 中的数据(清空所有数据库的所有 key,不仅仅是当前 select 的数据库 )。
    3. ***flushdb:***清空当前 select 数据库中的所有 key。
      在这里插入图片描述
  • 对于redis6.x,开启多线程执行后,主线程的顺序执行只在执行阶段,前置的解析阶段,到后面的返回阶段都可以交由子线程去执行。
    在这里插入图片描述

小结

通过上面的图示,我们就可以明显的看出redis各个版本对于多线程执行支持,和redis处理当中哪些环节可以通过异步多线程去处理


http://www.mrgr.cn/news/2649.html

相关文章:

  • 如何克服编程学习中的挫折感的?
  • redis列表若干记录
  • LeetCode-轮转数组
  • 如何培养单元测试的习惯?怎样才算一个好的单元测试?
  • Hexo通过GitHub设置自定义域名
  • Eureka 原理与实践全攻略
  • Android更改包名和签名
  • An error occurred: module ‘openai‘ has no attribute ‘ChatCompletion‘
  • 百度地图SDK Android版开发 7 覆盖物示例1
  • Flask 线上高并发部署方案实现
  • 2024.08.13 校招 实习 内推 面经
  • 周易测算系统开发:融合古典智慧与现代技术的创新实践
  • ShareSDK Twitter
  • SpringSecurity6
  • 运维学习————nginx2-配置详解及负载均衡
  • C#使用Modbus TCP通讯PLC,实现读写寄存器
  • 【css】水平对齐方式(justify、text-align、display: flex;)
  • 响应式Web设计:纯HTML和CSS的实现技巧-2
  • 谷粒商城实战笔记-225~226-商城业务-认证服务-分布式session不共享不同步问题
  • <STC12G12K128入门第十一步>任意按键控制进入USB ISP下载模式