Redis高效及線程安全的真正原因

上一篇 <<<Redis的應(yīng)用場景匯總
下一篇 >>>Redis為啥要分為16個(gè)庫


Redis線程為什么效率這么高?

(1) 絕大部分請求是純粹的內(nèi)存操作(非??焖伲?br> (2) 采用單線程,避免了不必要的上下文切換和競爭條件
(3) 非阻塞IO - IO多路復(fù)用
IO多路復(fù)用中有三種方式:select,poll,epoll。需要注意的是,select,poll是線程不安全的,epoll是線程安全的。NIO模式的IO多路復(fù)用底層原理

Redis線程線程安全嗎?

Redis中本身就是單線程的能夠保證線程安全問題。
Redis實(shí)際上是采用了線程封閉的觀念,把任務(wù)封閉在一個(gè)線程,自然避免了線程安全問題,不過對于需要依賴多個(gè)redis操作的復(fù)合操作來說,依然需要鎖,而且有可能是分布式鎖。

更多請參考:Redis為什么單線程還能夠支持高并發(fā)


推薦閱讀:
<<<分布式緩存與本地緩存的區(qū)別
<<<Ehcache基礎(chǔ)知識
<<<SpringBoot整合Ehcache
<<<Redis的5種數(shù)據(jù)類型
<<<Redis存放實(shí)體對象的方式及區(qū)別
<<<Redis的應(yīng)用場景匯總
<<<Redis為啥要分為16個(gè)庫
<<<RDB和AOF持久化方式的區(qū)別
<<<Redis與數(shù)據(jù)庫的一致性解決方案
<<<SpringBoot整合Redis的注解版本完成數(shù)據(jù)緩存
<<<Redis的淘汰策略
<<<Redis的事務(wù)操作(Mult和Watch)知識點(diǎn)
<<<Redis的過期機(jī)制使用場景示例
<<<Redis實(shí)現(xiàn)分布式鎖的原理分析
<<<Redis分布式鎖的實(shí)現(xiàn)代碼示例
<<<使用Redisson工具實(shí)現(xiàn)分布式鎖
<<<Redis集群模式之主從復(fù)制原理及存在的缺陷
<<<Redis集群模式之哨兵模式
<<<Redis集群模式之Cluster去中心化分片集群
<<<Linux環(huán)境下安裝單機(jī)Redis
<<<Redis Cluster集群環(huán)境搭建
<<<Redis Cluster如何動態(tài)擴(kuò)容與縮容
<<<Redis Cluster主從節(jié)點(diǎn)自動切換
<<<Redis集群模式的類型和缺陷匯總
<<<Redis緩存的穿透、擊穿和雪崩效應(yīng)
<<<Redis解決穿透擊穿問題時(shí)使用的布隆過濾器知識點(diǎn)
<<<Redis與MySQL的數(shù)據(jù)同步解決方案
<<<阿里云的Canal框架實(shí)現(xiàn)Redis與Mysql同步原理及代碼示例
<<<阿里云的Canal框架配置
<<<Redis官方提出的redlock分布式鎖
<<<Redis的調(diào)優(yōu)設(shè)置
<<<Redis常見問題匯總

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容