中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做公益的網(wǎng)站有哪些淘寶店鋪運(yùn)營

做公益的網(wǎng)站有哪些,淘寶店鋪運(yùn)營,教育行業(yè)網(wǎng)站制作,威海哪里做網(wǎng)站LRU(Least Recently Use)算法,是用來判斷一批數(shù)據(jù)中,最近最少使用算法。它底層數(shù)據(jù)結(jié)構(gòu)由Hash和鏈表結(jié)合實(shí)現(xiàn),使用Hash是為了保障查詢效率為O(1),使用鏈表保障刪除元素效率為O(1)。 LRU算法是用來判斷最近最少使用到元素&#xf…

LRU(Least Recently Use)算法,是用來判斷一批數(shù)據(jù)中,最近最少使用算法。它底層數(shù)據(jù)結(jié)構(gòu)由Hash和鏈表結(jié)合實(shí)現(xiàn),使用Hash是為了保障查詢效率為O(1),使用鏈表保障刪除元素效率為O(1)。

LRU算法是用來判斷最近最少使用到元素,常被用在緩存中數(shù)據(jù)清理、內(nèi)存淘汰相關(guān)的場景,它底層是由Hash表和雙向鏈表構(gòu)成,Hash主要用來存儲(chǔ)key和指向鏈表節(jié)點(diǎn)的指針,雙向鏈表就是用來實(shí)現(xiàn)最近最少使用算法的數(shù)據(jù)結(jié)構(gòu),新訪問的元素會(huì)加入到頭部或者尾部(就看最終從哪個(gè)反向取了,我們這里定為頭部),如果是已經(jīng)訪問的元素,并不會(huì)新添加到鏈表中,而是將鏈表中原來存在的這個(gè)節(jié)點(diǎn)移動(dòng)到頭部,最終鏈表中越靠近尾部的元素,代表最近最少使用的元素。

為什么要額外組合使用Hash和鏈表?單個(gè)數(shù)據(jù)結(jié)構(gòu)也能完成不是嗎?

為了提交效能,Hash的優(yōu)勢是查找元素為O(1),但是移動(dòng)元素是O(n),鏈表查找元素復(fù)雜度是O(n),但是移動(dòng)元素復(fù)雜度是O(1),所以為了提高效率,結(jié)構(gòu)兩種數(shù)據(jù)結(jié)構(gòu)各自的優(yōu)勢,利用Hash的O(1),來查找元素是否存在,利用鏈表的O(1)來移動(dòng)元素位置。

Redis近似LRU算法

什么是Redis近似LRU算法,為什么Redis不直接使用LRU算法?

近似LRU算法是Redis采用LRU算法思想,實(shí)現(xiàn)一個(gè)近似LRU的算法,在原LRU算法中需要維護(hù)一個(gè)Hash和鏈表,而Redis本身可以理解為一個(gè)大的字典,那就需要額外的去維護(hù)一個(gè)鏈表數(shù)據(jù)結(jié)構(gòu),Redis本身就是要經(jīng)受大量數(shù)據(jù)的沖擊的,所以這個(gè)鏈表將會(huì)占用更大的內(nèi)存。Redis的宗旨就是高效,所以它沒有使用這樣的一個(gè)鏈表。它的做法如下:

Redis最開始的做法
1、當(dāng)設(shè)置了LRU回收策略之后,對(duì)元素進(jìn)行訪問時(shí),會(huì)調(diào)用一次server.lruclock方法,獲取Redis時(shí)鐘時(shí)間戳(redis時(shí)鐘默認(rèn)1毫秒更新一次)并進(jìn)行取模(防止時(shí)間戳遞增,最后超過了24bit),記錄在元素value中l(wèi)ru屬性中。
2、當(dāng)內(nèi)存達(dá)到maxmemory時(shí),會(huì)隨機(jī)抽取5(可以通過maxmemory-policy設(shè)定)個(gè)樣本key進(jìn)行時(shí)間戳判斷,淘汰時(shí)間戳最小的(也就是最久遠(yuǎn)的一個(gè)key)

優(yōu)點(diǎn):不用額外的維護(hù)一個(gè)鏈表,節(jié)省了內(nèi)存,同時(shí)隨機(jī)采樣淘汰方式也避免了大數(shù)據(jù)量key遍歷處理的耗時(shí)。

缺點(diǎn):因?yàn)槭请S機(jī)采樣刪除,所以會(huì)出現(xiàn)更早key遲遲沒有被采樣刪除的情況。釘子戶。

Redis3.0 做了LRU算法升級(jí)

Redis在3.0之后對(duì)LRU算法做了升級(jí),加入了候選池Pool(16字節(jié)),首次抽樣5個(gè)會(huì)放入都Pool中,并按照時(shí)間大小lru排序,后續(xù)每次選取的Key的lru必須要小于pool的最小值(也就是key要比pool中的更早),才放入pool中,直到pool滿,當(dāng)有新元素加入時(shí),只需要將pool中最萬的key(也就是最大的)刪除即可。

升級(jí)之后的算法,可以更大密度的將更久沒有使用的key刪除,減少了釘子戶的存在。

RedisLFU算法

在Redis4.0 推出了LFU算法,這個(gè)是基于訪問次數(shù)維護(hù)的回收算法,算法和LRU差不多,就是在lru中加入了請求次數(shù)的計(jì)數(shù)count維護(hù)。從時(shí)間和頻次兩個(gè)維度來計(jì)算key的熱度。他的好處是,如果一個(gè)key很就沒有被訪問到,突然最近被訪問了一次,在LRU算法中,它是不容易被淘汰的,但是在LRF算法中,會(huì)統(tǒng)計(jì)它訪問頻次,發(fā)現(xiàn)不足定位很熱的key,所以還是會(huì)被刪除。所以LFU算法很適合用于熱點(diǎn)數(shù)據(jù)的刪除策略。

http://www.risenshineclean.com/news/1842.html

相關(guān)文章:

  • axure怎么做響應(yīng)式網(wǎng)站優(yōu)化大師win10能用嗎
  • 用dreamwever做網(wǎng)站小程序
  • 昆明網(wǎng)站制作計(jì)劃威海網(wǎng)站制作
  • wordpress調(diào)用列表頁seo查詢官方網(wǎng)站
  • 建設(shè)網(wǎng)站安全性seo短視頻入口引流
  • 360做網(wǎng)站和推廣怎么樣seo點(diǎn)擊排名軟件營銷工具
  • wordpress是用什么開發(fā)的網(wǎng)站搜索優(yōu)化排名
  • 電商網(wǎng)站多少錢重慶seo
  • 青島外貿(mào)建設(shè)網(wǎng)站制作搜索排名提升
  • 吉安市城鄉(xiāng)規(guī)劃建設(shè)局網(wǎng)站網(wǎng)絡(luò)營銷與策劃
  • 即將上市的手機(jī)優(yōu)優(yōu)群排名優(yōu)化軟件
  • 萍鄉(xiāng)做網(wǎng)站的公司廣州新聞熱點(diǎn)事件
  • 多媒體展廳公司seo學(xué)習(xí)論壇
  • j建設(shè)銀行信用卡網(wǎng)站開發(fā)一個(gè)平臺(tái)需要多少錢
  • 做蔬果批發(fā)有專門的網(wǎng)站么seo是什么意思怎么解決
  • 宜昌市建設(shè)工程質(zhì)量監(jiān)督站網(wǎng)站百度提交網(wǎng)址
  • 做招聘的網(wǎng)站seo技術(shù)快速網(wǎng)站排名
  • 視頻網(wǎng)站做視頻節(jié)目賺錢嗎搜狗搜圖
  • 網(wǎng)站簡單設(shè)計(jì)電子技術(shù)培訓(xùn)機(jī)構(gòu)
  • 天津?qū)I(yè)網(wǎng)站制作設(shè)計(jì)營銷廣告網(wǎng)站
  • 小型網(wǎng)站建設(shè)源碼石家莊新聞?lì)^條新聞最新今天
  • justhost wordpress企業(yè)網(wǎng)站優(yōu)化公司
  • 山東網(wǎng)站建設(shè)公司優(yōu)化網(wǎng)站關(guān)鍵詞優(yōu)化
  • 購物網(wǎng)站開發(fā)的描述seo點(diǎn)擊優(yōu)化
  • 網(wǎng)站自定義鏈接怎么做的seo網(wǎng)站推廣主要目的不包括
  • 免費(fèi)做婚禮邀請函的網(wǎng)站教育培訓(xùn)機(jī)構(gòu)網(wǎng)站
  • 網(wǎng)站是先備案 還是先做網(wǎng)站網(wǎng)站策劃書模板范文
  • 外貿(mào)平臺(tái)有哪些分別對(duì)應(yīng)哪個(gè)市場隨州seo
  • 網(wǎng)站建設(shè) 外包南寧百度快速排名優(yōu)化
  • 南通市網(wǎng)站建設(shè)我的完廣州網(wǎng)絡(luò)營銷推廣