千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > redis和平常寫的數(shù)據(jù)結構有什么區(qū)別?

redis和平常寫的數(shù)據(jù)結構有什么區(qū)別?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-10-11 05:05:45 1696971945

一、redis和平常寫的數(shù)據(jù)結構的區(qū)別

最大的區(qū)別,redis 作為緩存組件,可以獨立部署。這也是為什么本地內存很快,但還是要用 redis 這類緩存的原因。Redis是基于c語言編寫的開源非關系型內存數(shù)據(jù)庫,可以用作數(shù)據(jù)庫、緩存、消息中間件。

redis是一個開源的使用C語言編寫的一個kv存儲系統(tǒng),是一個速度非??斓姆顷P系遠程內存數(shù)據(jù)庫。它支持包括String、List、Set、Zset、hash五種數(shù)據(jù)結構。除此之外,通過復制、持久化和客戶端分片等特性,用戶可以很方便地將redis擴展成一個能夠包含數(shù)百GB數(shù)據(jù)和每秒處理上百萬次的請求的系統(tǒng)。目前支持多種語言的api,方便用戶使用。

redis同時也內置了事務、LUA腳本、復制等功能,提供兩種持久化選項,一種是每隔一段時間將數(shù)據(jù)導入到磁盤(快照模式),另一種是追加命令到日志中(AOF模式)。如果只是作為高效的內存數(shù)據(jù)庫使用也可以關閉持久化功能。通過哨兵(sentinel)和自動分區(qū)(Cuuster)的方式可以提高redis服務器的高可用性。

與關系型數(shù)據(jù)庫相比,redis的命令請求不需要經過查詢分析器或查詢優(yōu)化器進行處理,也避免了更新數(shù)據(jù)時引起的隨機讀\寫,這些慢操作。它直接讀寫內存中的數(shù)據(jù),并且數(shù)據(jù)是按照一定的數(shù)據(jù)結構存儲的。所以它的速度非???。

延伸閱讀:

二、字符串(String)

與其它編程語言或其它鍵值存儲提供的字符串非常相似,鍵(key)——值(value) (字符串格式),字符串擁有一些操作命令,如:get set del 還有一些比如自增或自減操作等等。redis是使用C語言開發(fā),但C中并沒有字符串類型,只能使用指針或符數(shù)組的形式表示一個字符串,所以redis設計了一種簡單動態(tài)字符串(SDS[Simple Dynamic String])作為底實現(xiàn):

定義SDS對象,此對象中包含三個屬性:

len buf中已經占有的長度(表示此字符串的實際長度)

free buf中未使用的緩沖區(qū)長度

buf[] 實際保存字符串數(shù)據(jù)的地方

所以取字符串的長度的時間復雜度為O(1),另,buf[]中依然采用了C語言的以\0結尾可以直接使用C語言的部分標準C字符串庫函數(shù)。

空間分配原則:當len小于IMB(1024*1024)時增加字符串分配空間大小為原來的2倍,當len大于等于1M時每次分配 額外多分配1M的空間。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業(yè)內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
計算機網(wǎng)絡管理軟件有哪些好用?

1、Nagios CoreNagios Core在全球范圍內用于幫助監(jiān)控網(wǎng)絡和跟蹤各種基礎設施。它的主動監(jiān)控功能可以檢測它負責監(jiān)控的服務器上的網(wǎng)絡設備、服務...詳情>>

2023-10-11 06:33:55
oa系統(tǒng)怎么注冊?

一、選擇合適的OA系統(tǒng)首先,需要選擇一款適合自己公司的OA系統(tǒng)。市面上有很多OA系統(tǒng),如用友、金蝶等,不同的OA系統(tǒng)有不同的功能和價格。在選擇...詳情>>

2023-10-11 06:32:35
大整數(shù)類型和一般的整數(shù)類型相比各有什么優(yōu)劣?

一、大整數(shù)類型和一般的整數(shù)類型相比大整數(shù)類型和一般的整數(shù)類型相比優(yōu)點是不會溢出,能表示任意長度的數(shù)字做各種精度的運算。缺點是沒有直接的...詳情>>

2023-10-11 06:22:59
功能安全開發(fā)與ASPICE和CMMI之間有什么樣的聯(lián)系?

一、功能安全開發(fā)與ASPICE和CMMI之間的聯(lián)系CMMI是產品和系統(tǒng)開發(fā)的通用模型,ASPICE是針對車這個垂直領域,(軟件)產品和系統(tǒng)開發(fā)的標準。ASPI...詳情>>

2023-10-11 05:59:32
在C語言下數(shù)組array與鏈表linklist各自的優(yōu)點和缺陷是什么?

一、在C語言下數(shù)組array與鏈表linklist各自的優(yōu)點和缺陷數(shù)組可以通過下標訪問,隨機訪問效率高,鏈表需要通過指針遍歷,訪問效率低。數(shù)組在分配...詳情>>

2023-10-11 05:43:25