丁香花高清在线完整版,聚会的目的韩国电影,办公室椅子上,少女在线观看高清完整版免费动漫,无码人妻av久久久一区二区三区

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

手機站
千鋒教育

千(qian)鋒學習(xi)站 | 隨時隨地免費學

千鋒教育

掃(sao)(sao)一(yi)掃(sao)(sao)進(jin)入千鋒手機站

領取全套視頻
千鋒教育

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

當前位置(zhi):首頁  >  技術干貨  > mysql的MEMORY引擎為什么沒有redis的應用廣泛?

mysql的MEMORY引擎為什么沒有redis的應用廣泛?

來源:千鋒教育
發布人:xqq
時間: 2023-10-11 23:05:18 1697036718

一、mysql的MEMORY引擎為什么沒有redis的應用廣泛

從kv緩存的作用看,mysql優點不在kv緩存上,用它做(zuo)kv緩存維護成本高,redis安裝啟動(dong)使用簡單,mysql效率(lv)功能(neng)也沒redis強(qiang)大,

redis專門(men)針對一些(xie)場(chang)(chang)景做(zuo)了優化(hua),例如計(ji)數器(qi),可以(yi)精(jing)確計(ji)數,精(jing)度要(yao)求不(bu)高(gao)也(ye)可以(yi)模糊計(ji)數,占用內存更少;集合間(jian)的各(ge)種(zhong)操作更簡單高(gao)效,典型應用場(chang)(chang)景社交應用下好(hao)友,粉絲各(ge)種(zhong)操作。

redis支持(chi)兩種(zhong)數據持(chi)久化(hua)方式:RDB和AOF,這(zhe)也是redis區別(bie)與(yu)其他nosql內存數據庫的一個主要特點。

RDB主要可以用(yong)作冷備,默認情況下每5分鐘將會fork出一個(ge)子進程,進行當前數據快照的持久化(這(zhe)里的內存為了(le)保證備份期間(jian)數據的一致性,這(zhe)里還用(yong)到了(le)一個(ge)概念(nian):寫(xie)時復制COW)。除此之外,RDB還具備一下幾個(ge)特點:

生成一(yi)(yi)組(zu)持(chi)久化文件,每一(yi)(yi)個文件都代表了(le)某一(yi)(yi)時刻的內存數據快照。

數據恢復速度快。

由于(yu)是由后臺(tai)(tai)子進程進行數據備份,對線(xian)上系(xi)統的QPS影響(xiang)較小。但(dan)如果后臺(tai)(tai)需要備份的數據量較大(da),則由于(yu)進程調度原因,可能(neng)會導致線(xian)上業務(wu)停滯。

默認每五分鐘生成一(yi)次數(shu)據副本,數(shu)據的可靠性并不(bu)高。

AOF則是(shi)以(yi)追加(jia)寫(xie)的方(fang)式(shi),將(jiang)對Redis的更(geng)新操作(zuo)全部寫(xie)入aof文(wen)件。aof具有(you)以(yi)下特(te)點(dian):

AOF默認每1s通(tong)過后臺線程進行一次fsync操作,數(shu)據(ju)的(de)可靠性比較(jiao)高(gao),非(fei)常多丟失1s的(de)數(shu)據(ju)。

AOF采用append-only的方(fang)式寫入(ru)日(ri)志文件,由于(yu)是順序寫,沒(mei)有磁盤(pan)尋址(zhi)的開銷,速度很快(kuai)。

AOF日志的可讀性(xing)很(hen)強(qiang),可以(yi)執行(xing)一些緊急處(chu)理。

但是AOF日(ri)志普遍要比RDB文(wen)件大,這是由(you)于AOF日(ri)志需要記錄redis實(shi)例(li)啟動以(yi)來的(de)所(suo)有更新(xin)操作,以(yi)便(bian)對數據庫進行重放,恢復數據。

由于需要保證數據(ju)的可(ke)靠性而每秒執行的fsync操作,會降(jiang)低線上的QPS。

因此通過RDB和AOF的(de)配合使用,就可以在保證效率的(de)同時(shi)盡(jin)可能(neng)的(de)保證數(shu)據的(de)可靠性(xing)。這是Memory存(cun)儲引擎所不具備的(de)。

除此之(zhi)外(wai),Redis通過nio模(mo)型,利用單個線(xian)程監聽多個socket,將對redis的操作全部轉換為文件(jian)事件(jian)操作。大大提高了并發(fa)性。

延伸閱讀:

二、什么是Memory引擎

Memory引(yin)(yin)擎(qing)是Mysql的(de)內存引(yin)(yin)擎(qing),在實現上,Memory存儲引(yin)(yin)擎(qing)不同(tong)于Innodb這種組織索(suo)(suo)引(yin)(yin)結(jie)構(gou)(索(suo)(suo)引(yin)(yin)即是數據,即數據存放在主鍵索(suo)(suo)引(yin)(yin)上),而是將索(suo)(suo)引(yin)(yin)和(he)數據分開(kai)存儲。索(suo)(suo)引(yin)(yin)采用(yong)Hash的(de)形式(shi),存放主鍵id和(he)指(zhi)向數據的(de)指(zhi)針,而數據則按插入順序(xu)存放。我們稱這種數據組織方(fang)式(shi)為堆組織方(fang)式(shi)。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師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