在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

redis为什么用单线程

111次阅读
没有评论

共计 1059 个字符,预计需要花费 3 分钟才能阅读完成。

本篇内容主要讲解“redis 为什么用单线程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“redis 为什么用单线程”吧!

1. 基本概念

什么是 redis 的单线程(核心功能在单线程上,并不是所有功能)

持久化

异步删除

集群数据同步

redis 的网络 IO 和键值对读写是由一个线程完成的(redis 的核心服务)

redis 的其他功能由额外线程完成

【相关推荐:Redis 视频教程】

2.redis 为什么用单线程

多线程的开销

被多线程同时访问共享资源,比如共享的数据结构

为了保证线程安全,导致性能的牺牲

粗粒度的锁导致所有串行,系统的吞吐率随着线程的增加而增加

使用多线程可以增加系统吞吐率(每个请求),增加系统扩展性

无限的增加线程数,导致吞吐量下降

因此为了节省并发资源的管理,redis 使用单线程,保证所有操作串行化

3. 单线程的 redis 为什么快

redis 大部分操作都在内存上 + 高效的数据结构

redis 采用多路复用机制,在网络中处理大量客户端请求,实现高吞吐率

4.socket

socket 通信过程(网络 IO 处理 + 键值对读写 + 网络 IO 处理)

SimpleKV 为了处理一个 Get 请求

需要监听客户端请求(bind/listen)

和客户端(代码)建立连接(accept)

从 socket 中读取请求(recv)

解析客户端发送请求(parse)

根据请求类型读取键值数据(get)

最后给客户端返回结果,即向 socket 中写回数据(send)

潜在的阻塞点

accept() 未能成功建立连接时,会一直阻塞 \

recv() 从客户端读取数据时,会一直阻塞 \

socket 的非阻塞模式

保证 Redis 线程,既不会像基本 IO 模型中一直在阻塞点等待,也不会导致 Redis 无法处理实际到达的连接请求或数据

Linux 中的 IO 多路复用机制

5. 多路复用

Linux 中的 IO 多路复用机制指一个线程处理多个 IO 流,select/poll

在单线程下,同时存在监听多个套接字和已连接套接字

具体实现

首先将事件放入事件队列,无需润徐请求是否实际发生,避免 CPU 资源浪费

根据相应的事件执行响应的操作

FD 是多个套接字

Redis 使用 epoll 机制,让内核监听套接字

Redis 可以和多个客户端连接并处理请求,从而提升并发性

select/epoll 提供了基于事件的回调机制,针对不同的事件调用对应的处理函数

到此,相信大家对“redis 为什么用单线程”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-27发表,共计1059字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 色琪琪丁香婷婷综合久久 | 99久久久无码国产精品9 | 91亚洲国产成人久久精品网址 | 亚洲国产视频网 | 嫩草视频在线观看www视频 | 亚洲国产av无码专区亚洲av | 亚洲色成人网一二三区 | 全球av集中精品导航福利 | 亚洲婷婷影院 | 亚洲熟妇av午夜无码不卡 | 欧美在线中文字幕高清的 | 亚洲图片一区二区 | 日韩精品亚洲一级在线观看 | 国产成人精品视频ⅴa片软件竹菊 | 中文无码熟妇人妻av在线 | 亚洲国产系列久久精品99人人 | 免费a级做爰片在线观看爱色戒 | 免费一区二区三区四区 | 91中文字幕在线视频 | 青青在线精品 | 国产成a人片在线观看视频下载 | 亚洲视频 在线观看 | 丰满多毛的大隂户毛茸茸 | 老师粉嫩小泬喷水视频90 | 亚洲人成网7777777国产 | 九色最新网址 | 亚洲精品午夜aaa级久久久久 | 久久精品无码av | 人妻聚色窝窝人体www一区 | 国产成人捆绑调教在线视频 | 国产成人免费 | 国产一级特黄一级毛片 | 日韩av无码国产精品 | 你懂的网址在线观看 | 一个人在线视频免费观看www | 人妻无码一区二区三区免费 | 华人少妇被黑人粗大的猛烈进 | 国产偷人妻精品一区二区在线 | 女人与zzzooooxxxx | 女人一级黄色大片 | 国产男女在线观看 |