久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Redis單線程的reactor模型是怎樣的

共計(jì) 1128 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。

這篇文章主要講解了“Redis 單線程的 reactor 模型是怎樣的”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Redis 單線程的 reactor 模型是怎樣的”吧!

redis 的高性能

純內(nèi)存訪問,所有數(shù)據(jù)都在內(nèi)存中,所有的運(yùn)算都是內(nèi)存級(jí)別的運(yùn)算,內(nèi)存響應(yīng)時(shí)間的時(shí)間為納秒級(jí)別。因此 redis 進(jìn)程的 cpu 基本不存在磁盤 I/O 等待時(shí)間、內(nèi)存讀寫性能問題,CPU 不是 redis 的瓶頸(內(nèi)存大小和網(wǎng)絡(luò) I /O 才是 redis 的瓶頸,也就是客戶端和服務(wù)端之間的網(wǎng)絡(luò)傳輸延遲)?!鞠嚓P(guān)推薦:Redis 視頻教程】

采用單線程模型,單線程實(shí)現(xiàn)簡(jiǎn)單。避免了多線程頻繁上下文切換,以及同步機(jī)制如鎖帶來的開銷

簡(jiǎn)單高效的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu):動(dòng)態(tài)字符串(SDS),鏈表,字典,跳躍鏈表,整數(shù)集合和壓縮列表。然后 redis 在這個(gè)基礎(chǔ)上去實(shí)現(xiàn)用戶能操作的對(duì)象:字符串,列表,哈希,集合,有序集合等對(duì)象

reactor 模式的網(wǎng)絡(luò)事件處理器。它使用了 I/O 多路復(fù)用去同時(shí)監(jiān)控多個(gè)套接字,這是一種高效的 I / O 模型。reactor 相關(guān)知識(shí)可以看下這篇文章 框架篇:見識(shí)一下 linux 高性能網(wǎng)絡(luò) IO+Reactor 模型

為什么使用單線程

采用單線程,避免了不必要的上下文切換和競(jìng)爭(zhēng)條件;不存在多線程導(dǎo)致的切換而消耗 CPU

不用考慮各種鎖的問題,不存在加鎖和釋放鎖的的操作,沒有因?yàn)榭赡艹霈F(xiàn)的死鎖而導(dǎo)致的性能消耗

簡(jiǎn)單可維護(hù),多線程模式會(huì)使得程序的編寫更加復(fù)雜和麻煩,單線程實(shí)現(xiàn)易實(shí)現(xiàn)

redis 是單線程系統(tǒng)?

我們常說 redis 單線程是指其網(wǎng)絡(luò)事件處理模型 reactor 是單線程

如果一次 client 請(qǐng)求會(huì)刪除幾百萬 keys 值,那么這條命令可能會(huì)導(dǎo)致阻塞。在 redis 4.0 選擇引入多線程來實(shí)現(xiàn)這一類非阻塞的命令

在 redis6.0 版本正式引入多線程去處理客戶端的 I/O 讀寫響應(yīng),而 redis 命令事件的處理還是在主線程單線處理

假如是針對(duì)整個(gè) redis 系統(tǒng),則一直有其他線程去處理異步任務(wù),如 AOF、RDB 的同步

redis I/ O 模型

redis 處理快,不單單因?yàn)樗莻€(gè)單線程純內(nèi)存系統(tǒng),還有它采用了 Reactor 模型,使用 I/O 多路復(fù)用來實(shí)現(xiàn)對(duì)外部請(qǐng)求的處理,減少網(wǎng)絡(luò)連接、讀寫等待時(shí)間。使其在網(wǎng)絡(luò) I/O 操作中能并發(fā)處理大量的客戶端請(qǐng)求,實(shí)現(xiàn)高吞吐率,高并發(fā)

redis 的多線程版本 I / O 模型 6.0

感謝各位的閱讀,以上就是“Redis 單線程的 reactor 模型是怎樣的”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì) Redis 單線程的 reactor 模型是怎樣的這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-18發(fā)表,共計(jì)1128字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 龙海市| 嘉义市| 广宁县| 聊城市| 乌鲁木齐市| 永川市| 石屏县| 手机| 武川县| 邵武市| 内江市| 光山县| 抚宁县| 井研县| 潼关县| 河源市| 高碑店市| 凤山市| 宁津县| 修文县| 德惠市| 洱源县| 乌拉特中旗| 维西| 石林| 肥西县| 兴海县| 沁源县| 东海县| 苏尼特左旗| 寿宁县| 水富县| 皮山县| 宝清县| 吐鲁番市| 鄂托克旗| 夏河县| 湘潭市| 怀仁县| 阿克苏市| 萍乡市|