麻豆av一区二区三区久久,亚洲国产一区二区视频,亚洲欧洲国产精品久久,国产精品天天看天天狠

南京中博教育
南京中博教育學(xué)校南京中博教育 > 新聞中心 > 課程咨詢 >

redis緩存原理詳解(redis緩存實(shí)現(xiàn)原理)

發(fā)布時(shí)間:2022-02-15 17:24??發(fā)布人:南京北大青鳥??發(fā)布來源:redis緩存資訊??瀏覽人數(shù):81

前言:  redis豐富的數(shù)據(jù)結(jié)構(gòu),其hash,list,set以及功能豐富的String的支持,對(duì)于實(shí)際項(xiàng)目中的使用有很大的幫忙。同時(shí).redis單點(diǎn)的性能也非常高效,所以很多的項(xiàng)目都會(huì)選擇redis來做為緩存應(yīng)用

  redis豐富的數(shù)據(jù)結(jié)構(gòu),其hash,list,set以及功能豐富的String的支持,對(duì)于實(shí)際項(xiàng)目中的使用有很大的幫忙。同時(shí).redis單點(diǎn)的性能也非常高效,所以很多的項(xiàng)目都會(huì)選擇redis來做為緩存應(yīng)用。
 

  1.redis緩存原理

  Redis將其數(shù)據(jù)完全保存在內(nèi)存中,僅使用磁盤進(jìn)行持久化。與其它鍵值數(shù)據(jù)存儲(chǔ)相比,Redis有一組相對(duì)豐富的數(shù)據(jù)類型。Redis可以將數(shù)據(jù)復(fù)制到任意數(shù)量的從機(jī)中。異常快 - Redis非常快,每秒可執(zhí)行大約110000次的設(shè)置(SET)操作,每秒大約可執(zhí)行81000次的讀取/獲取(GET)操作。支持豐富的數(shù)據(jù)類型 - Redis支持開發(fā)人員常用的大多數(shù)數(shù)據(jù)類型 ,例如列表,集合,排序集和散列等等。這使得Redis很容易被用來解決各種問題,因?yàn)槲覀冎滥男﹩栴}可以更好使用地哪些數(shù)據(jù)類型來處理解決。操作具有原子性 - 所有Redis操作都是原子操作,這確保如果兩個(gè)客戶端并發(fā)訪問,Redis服務(wù)器能接收更新的值。Redis是一個(gè)內(nèi)存數(shù)據(jù)庫,但在磁盤數(shù)據(jù)庫上是持久的,因此它代表了一個(gè)不同的權(quán)衡,在這種情況下,在不能大于存儲(chǔ)器(內(nèi)存)的數(shù)據(jù)集的限制下實(shí)現(xiàn)非常高的寫和讀速度redis支持多種數(shù)據(jù)結(jié)構(gòu),Redis不僅僅支持簡(jiǎn)單的k/v類型的數(shù)據(jù),同時(shí)還提供list,set,zset,hash等數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)Redis支持master-slave(主-從)模式應(yīng)用;Redis單個(gè)value的限制是1GB,memcached只能保存1MB的數(shù)據(jù)。


redis緩存原理詳解
 

  2.redis緩存實(shí)現(xiàn)

  redis提供了三種緩存數(shù)據(jù)淘汰機(jī)制,LFU,LRU,TTL。LFU,least frequently used,即小使用頻率淘汰,每個(gè)對(duì)象使用共計(jì)24bit空間用來實(shí)施這個(gè)算法,24bit分成2個(gè)部分,前16bit用來記錄上次減少時(shí)間(減少的是后面8bit計(jì)數(shù)器),后面8個(gè)bit是一個(gè)對(duì)數(shù)計(jì)數(shù)器,用來記錄這個(gè)對(duì)象的訪問次數(shù)。需要注意的是,這個(gè)字段不是一直增加的,也需要減少,否則會(huì)出現(xiàn)一個(gè)情況,一個(gè)對(duì)象很久之前被頻繁的使用,但是沒有被使用,若這個(gè)值不減少的話,那么這個(gè)對(duì)象會(huì)一直處在一個(gè)不會(huì)被淘汰的位置。前面16bit的作用就是,記錄一個(gè)“減量時(shí)間”,這是一個(gè)降低精度的Unix時(shí)間,將16bit的時(shí)間轉(zhuǎn)換成分鐘,不關(guān)心回繞問題。若這個(gè)時(shí)間很大,那么8bit計(jì)數(shù)器的值減半,否則只是簡(jiǎn)單的每次遞減1;LRU,last recently used,即少使用淘汰,一般做法是,將hash表的value做成一個(gè)指針,指向一個(gè)雙鏈表節(jié)點(diǎn),節(jié)點(diǎn)中保存實(shí)際的value,雙鏈表按照上次訪問時(shí)間降序排列,當(dāng)訪問到一個(gè)對(duì)象之后,更新訪問時(shí)間,并將這個(gè)節(jié)點(diǎn)移動(dòng)到表頭,若節(jié)點(diǎn)不存在就直接插入到表頭。當(dāng)內(nèi)存門限達(dá)到的時(shí)候,從鏈表尾開始刪除若干entry。redis為了減少內(nèi)存使用,不使用雙鏈表或其他結(jié)構(gòu)管理對(duì)象,采用隨機(jī)算法,每次從hash表中隨機(jī)選擇一些key,一般是5個(gè),將這些key存入一個(gè)全局的池,池大小一般是16,池中entry按照上次訪問時(shí)間降序排列,每次從池中選擇尾部的entry,就是較差的對(duì)象,將這個(gè)對(duì)象淘汰;TTL,即生存時(shí)間,按照生存時(shí)間設(shè)置一個(gè)對(duì)象的生命周期,一個(gè)對(duì)象生命周期結(jié)束之后將其銷毀。

  以上就是對(duì)于redis緩存的介紹,我們要想學(xué)會(huì)使用redis緩存還是需要大量的實(shí)戰(zhàn)項(xiàng)目練習(xí),經(jīng)過不斷的積累才能更加熟練。

版權(quán)聲明:本文redis緩存原理詳解(redis緩存實(shí)現(xiàn)原理): http://www.by727727.com/kczx/1190.html 的內(nèi)容、圖片由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至2353260942@qq.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。互聯(lián)網(wǎng)教程 寵物知識(shí)(如需投稿聯(lián)系管理員開通!)

相關(guān)內(nèi)容:

更多人關(guān)注:

「南京Java培訓(xùn)」提高Java學(xué)習(xí)效率的四大   很多同學(xué)在學(xué)習(xí)Java的時(shí)候遲遲沒有什么效果,并不單單是因...
高中畢業(yè)學(xué)IT工資能比過大學(xué)生嗎?   現(xiàn)在有不少的同學(xué)在高中畢業(yè)后就選擇不再繼續(xù)文化課學(xué)習(xí)...
學(xué)會(huì)三點(diǎn)自學(xué)也能入門Java開發(fā)   有許多想學(xué)Java的人,很多人都表示很迷茫不知如何開始,對(duì)...
報(bào)軟件測(cè)試的班有用嗎(軟件測(cè)試培訓(xùn)靠譜   軟件測(cè)試報(bào)班是有用的,特別是靠譜的培訓(xùn)機(jī)構(gòu)不僅有著系...

搶實(shí)地試聽名額

名額僅剩66名

教育改變生活

WE CHANGE LIVES

? CopyRight nj-test.com ???? 蘇ICP備2023001897號(hào)-3

主站蜘蛛池模板: 湖北省| 通州市| 墨江| 静海县| 留坝县| 永春县| 固阳县| 乌兰察布市| 台北市| 思南县| 丹寨县| 水城县| 通化市| 彩票| 南江县| 鄂尔多斯市| 板桥市| 芜湖县| 临夏市| 大悟县| 左贡县| 舞钢市| 延安市| 盱眙县| 台南县| 定州市| 嘉祥县| 蓬安县| 拜城县| 遂溪县| 自贡市| 榆中县| 交口县| 慈溪市| 海安县| 高雄县| 修文县| 泰兴市| 靖边县| 普宁市| 盐亭县|