共計 668 個字符,預(yù)計需要花費 2 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
丸趣 TV 小編給大家分享一下 redis 快的特點有哪些,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
Redis 是一個由 ANSI C 語言編寫,性能優(yōu)秀、支持網(wǎng)絡(luò)、可持久化的 K - K 內(nèi)存數(shù)據(jù)庫,并提供多種語言的 API。它常用的類型主要是 String、List、Hash、Set、ZSet 這 5 種。
redis 為什么這么快?
1、完全基于內(nèi)存,絕大部分請求是純粹的內(nèi)存操作,非常快速。數(shù)據(jù)存在內(nèi)存中,類似于 HashMap,HashMap 的優(yōu)勢就是查找和操作的時間復(fù)雜度都是 O(1);
2、數(shù)據(jù)結(jié)構(gòu)簡單,對數(shù)據(jù)操作也簡單,Redis 中的數(shù)據(jù)結(jié)構(gòu)是專門進(jìn)行設(shè)計的;
3、采用單線程,避免了不必要的上下文切換和競爭條件,也不存在多進(jìn)程或者多線程導(dǎo)致的切換而消耗 CPU,不用去考慮各種鎖的問題,不存在加鎖釋放鎖操作,沒有因為可能出現(xiàn)死鎖而導(dǎo)致的性能消耗;
4、使用多路 I / O 復(fù)用模型,非阻塞 IO;
5、使用底層模型不同,它們之間底層實現(xiàn)方式以及與客戶端之間通信的應(yīng)用協(xié)議不一樣,Redis 直接自己構(gòu)建了 VM 機制,因為一般的系統(tǒng)調(diào)用系統(tǒng)函數(shù)的話,會浪費一定的時間去移動和請求;
內(nèi)部實現(xiàn)采用 epoll,采用了 epoll+ 自己實現(xiàn)的簡單的事件框架。epoll 中的讀、寫、關(guān)閉、連接都轉(zhuǎn)化成了事件,然后利用 epoll 的多路復(fù)用特性,絕不在 io 上浪費一點時間。
看完了這篇文章,相信你對 redis 快的特點有哪些有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝各位的閱讀!
向 AI 問一下細(xì)節(jié)
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!