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

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

網(wǎng)站建設(shè)安全級別自媒體平臺收益排行榜

網(wǎng)站建設(shè)安全級別,自媒體平臺收益排行榜,zeronet網(wǎng)站開發(fā),wordpress菜偽靜態(tài)這里寫目錄標(biāo)題一、Redis數(shù)據(jù)特征二、過期數(shù)據(jù)三、過期數(shù)據(jù)刪除策略3.1 數(shù)據(jù)刪除策略的目標(biāo)3.2 定時(shí)刪除3.3 惰性刪除3.4 定期刪除3.5 刪除策略對比3.6 實(shí)際應(yīng)用四、數(shù)據(jù)淘汰策略4.1 淘汰策略概述4.2 策略配置一、Redis數(shù)據(jù)特征 Redis是一種內(nèi)存級數(shù)據(jù)庫,所有的數(shù)據(jù)…

這里寫目錄標(biāo)題

  • 一、Redis數(shù)據(jù)特征
  • 二、過期數(shù)據(jù)
  • 三、過期數(shù)據(jù)刪除策略
    • 3.1 數(shù)據(jù)刪除策略的目標(biāo)
    • 3.2 定時(shí)刪除
    • 3.3 惰性刪除
    • 3.4 定期刪除
    • 3.5 刪除策略對比
      • 3.6 實(shí)際應(yīng)用
  • 四、數(shù)據(jù)淘汰策略
    • 4.1 淘汰策略概述
    • 4.2 策略配置

一、Redis數(shù)據(jù)特征

??Redis是一種內(nèi)存級數(shù)據(jù)庫,所有的數(shù)據(jù)均存放在內(nèi)存中,內(nèi)存中的數(shù)據(jù)可以通過TTL指令獲取其狀態(tài)。
??TTL返回的值有三種情況:正數(shù),-1,-2

  • 正數(shù):代表該數(shù)據(jù)在內(nèi)存中還能存活的時(shí)間
  • -1:永久有效的數(shù)據(jù)
  • 2 :已經(jīng)過期的數(shù)據(jù) 或被刪除的數(shù)據(jù) 或 未定義的數(shù)據(jù)

二、過期數(shù)據(jù)

??Redis內(nèi)部,每當(dāng)我們設(shè)置一個(gè)鍵的過期時(shí)間時(shí),Redis就會將該鍵帶上過期時(shí)間存放到一個(gè)過期字典中。
??當(dāng)我們查詢一個(gè)鍵時(shí),Redis便首先檢查該鍵是否存在過期字典中,如果存在,那就獲取其過期時(shí)間。然后將過期時(shí)間和當(dāng)前系統(tǒng)時(shí)間進(jìn)行比對,比系統(tǒng)時(shí)間大,那就沒有過期;反之判定該鍵過期。

三、過期數(shù)據(jù)刪除策略

3.1 數(shù)據(jù)刪除策略的目標(biāo)

在內(nèi)存占用與CPU占用之間尋找一種平衡,顧此失彼都會造成整體redis性能的下降,甚至引發(fā)服務(wù)器宕機(jī)或 內(nèi)存泄露

針對過期數(shù)據(jù)要進(jìn)行刪除的時(shí)候都有哪些刪除策略呢?

  • 1.定時(shí)刪除
  • 2.惰性刪除
  • 3.定期刪除

3.2 定時(shí)刪除

創(chuàng)建一個(gè)定時(shí)器,當(dāng)key設(shè)置有過期時(shí)間,且過期時(shí)間到達(dá)時(shí),由定時(shí)器任務(wù)立即執(zhí)行對鍵的刪除操作

  • 優(yōu)點(diǎn):節(jié)約內(nèi)存,到時(shí)就刪除,快速釋放掉不必要的內(nèi)存占用
  • 缺點(diǎn):CPU壓力很大,無論CPU此時(shí)負(fù)載量多高,均占用CPU,會影響redis服務(wù)器響應(yīng)時(shí)間和指令吞吐量
  • 總結(jié):用處理器性能換取存儲空間(拿時(shí)間換空間)

3.3 惰性刪除

數(shù)據(jù)到達(dá)過期時(shí)間,不做處理。等下次訪問該數(shù)據(jù)時(shí),我們需要判斷

  1. 如果未過期,返回?cái)?shù)據(jù)
  2. 發(fā)現(xiàn)已過期,刪除,返回不存在
  • 優(yōu)點(diǎn):節(jié)約CPU性能,發(fā)現(xiàn)必須刪除的時(shí)候才刪除
  • 缺點(diǎn):內(nèi)存壓力很大,出現(xiàn)長期占用內(nèi)存的數(shù)據(jù)
  • 總結(jié):用存儲空間換取處理器性能(拿時(shí)間換空間)

3.4 定期刪除

定時(shí)刪除和惰性刪除這兩種方案都是走的極端,那有沒有折中方案?

我們來講redis的定期刪除方案:

  • Redis啟動服務(wù)器初始化時(shí),讀取配置server.hz的值,默認(rèn)為10

  • 每秒鐘執(zhí)行server.hz次serverCron()-------->databasesCron()--------->activeExpireCycle()

  • **activeExpireCycle()**對每個(gè)expires[*]逐一進(jìn)行檢測,每次執(zhí)行耗時(shí):250ms/server.hz

  • 對某個(gè)expires[*]檢測時(shí),隨機(jī)挑選W個(gè)key檢測

  如果key超時(shí),刪除key如果一輪中刪除的key的數(shù)量>W*25%,循環(huán)該過程如果一輪中刪除的key的數(shù)量≤W*25%,檢查下一個(gè)expires[*],0-15循環(huán)W取值=ACTIVE_EXPIRE_CYCLE_LOOKUPS_PER_LOOP屬性值
  • 參數(shù)current_db用于記錄activeExpireCycle() 進(jìn)入哪個(gè)expires[*] 執(zhí)行

  • 如果activeExpireCycle()執(zhí)行時(shí)間到期,下次從current_db繼續(xù)向下執(zhí)行

  • 總的來說:定期刪除就是周期性輪詢r(jià)edis庫中的時(shí)效性數(shù)據(jù),采用隨機(jī)抽取的策略,利用過期數(shù)據(jù)占比的方式控制刪除頻度

  • 特點(diǎn)1:CPU性能占用設(shè)置有峰值,檢測頻度可自定義設(shè)置

  • 特點(diǎn)2:內(nèi)存壓力不是很大,長期占用內(nèi)存的冷數(shù)據(jù)會被持續(xù)清理

  • 總結(jié):周期性抽查存儲空間(隨機(jī)抽查,重點(diǎn)抽查)

3.5 刪除策略對比

1:定時(shí)刪除:

節(jié)約內(nèi)存,無占用,
不分時(shí)段占用CPU資源,頻度高,
拿時(shí)間換空間

2:惰性刪除:

內(nèi)存占用嚴(yán)重
延時(shí)執(zhí)行,CPU利用率高
拿空間換時(shí)間

3:定期刪除:

內(nèi)存定期隨機(jī)清理
每秒花費(fèi)固定的CPU資源維護(hù)內(nèi)存
隨機(jī)抽查,重點(diǎn)抽查

3.6 實(shí)際應(yīng)用

實(shí)際應(yīng)用場景Redis的過期刪除策略就是:惰性刪除+定期刪除兩種策略配合使用。

    注:Redis服務(wù)器沒有使用定時(shí)刪除這種策略;

惰性刪除:Redis的惰性刪除策略由db.c/expireIfNeeded函數(shù)實(shí)現(xiàn),所有鍵讀寫命令執(zhí)行之前都會調(diào)用expireIfNeeded函數(shù)對其進(jìn)行檢查,如果過期,則刪除該鍵,然后執(zhí)行鍵不存在的操作;未過期則不作操作,繼續(xù)執(zhí)行原有的命令。

定期刪除:由redis.c/activeExpireCycle函數(shù)實(shí)現(xiàn),函數(shù)以一定頻率執(zhí)行,每當(dāng)Redis的服務(wù)器性執(zhí)行redis.c/serverCron函數(shù)時(shí),activeExpireCycle函數(shù)就會被調(diào)用,它在規(guī)定的時(shí)間內(nèi),分多次遍歷服務(wù)器中的各個(gè)數(shù)據(jù)庫,從數(shù)據(jù)庫的expires字典中隨機(jī)檢查一部分鍵的過期時(shí)間,并刪除其中的過期鍵

四、數(shù)據(jù)淘汰策略

4.1 淘汰策略概述

什么叫數(shù)據(jù)淘汰策略?什么樣的應(yīng)用場景需要用到數(shù)據(jù)淘汰策略?

當(dāng)新數(shù)據(jù)進(jìn)入redis時(shí),如果內(nèi)存不足怎么辦?在執(zhí)行每一個(gè)命令前,會調(diào)用**freeMemoryIfNeeded()**檢測內(nèi)存是否充足。如果內(nèi)存不滿足新 加入數(shù)據(jù)的最低存儲要求,redis要臨時(shí)刪除一些數(shù)據(jù)為當(dāng)前指令清理存儲空間。清理數(shù)據(jù)的策略稱為逐出算法。

注意:逐出數(shù)據(jù)的過程不是100%能夠清理出足夠的可使用的內(nèi)存空間,如果不成功則反復(fù)執(zhí)行。當(dāng)對所有數(shù)據(jù)嘗試完畢, 如不能達(dá)到內(nèi)存清理的要求,將出現(xiàn)錯(cuò)誤信息如下

(error) OOM command not allowed when used memory >'maxmemory'

4.2 策略配置

影響數(shù)據(jù)淘汰的相關(guān)配置如下:

1:最大可使用內(nèi)存,即占用物理內(nèi)存的比例,默認(rèn)值為0,表示不限制。生產(chǎn)環(huán)境中根據(jù)需求設(shè)定,通常設(shè)置在50%以上

maxmemory ?mb

2:每次選取待刪除數(shù)據(jù)的個(gè)數(shù),采用隨機(jī)獲取數(shù)據(jù)的方式作為待檢測刪除數(shù)據(jù)

maxmemory-samples count

3:對數(shù)據(jù)進(jìn)行刪除的選擇策略

maxmemory-policy policy

那數(shù)據(jù)刪除的策略policy到底有幾種呢?一共是3類8種

第一類:檢測易失數(shù)據(jù)(可能會過期的數(shù)據(jù)集server.db[i].expires )

volatile-lru:挑選最近最少使用的數(shù)據(jù)淘汰
volatile-lfu:挑選最近使用次數(shù)最少的數(shù)據(jù)淘汰
volatile-ttl:挑選將要過期的數(shù)據(jù)淘汰
volatile-random:任意選擇數(shù)據(jù)淘汰

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-rO91WUnz-1677378276118)(file://E:\鄧俊東學(xué)習(xí)\Redis\1.Redis高級\講義-md版本\img\lru.png?msec=1677376247604)]

第二類:檢測全庫數(shù)據(jù)(所有數(shù)據(jù)集server.db[i].dict )

allkeys-lru:挑選最近最少使用的數(shù)據(jù)淘汰
allkeLyRs-lfu::挑選最近使用次數(shù)最少的數(shù)據(jù)淘汰
allkeys-random:任意選擇數(shù)據(jù)淘汰,相當(dāng)于隨機(jī)

第三類:放棄數(shù)據(jù)驅(qū)逐

no-enviction(驅(qū)逐):禁止驅(qū)逐數(shù)據(jù)(redis4.0中默認(rèn)策略),會引發(fā)OOM(Out Of Memory)

注意:這些策略是配置到哪個(gè)屬性上?怎么配置?如下所示

maxmemory-policy volatile-lru

數(shù)據(jù)淘汰策略配置依據(jù)

使用INFO命令輸出監(jiān)控信息,查詢緩存 hit 和 miss 的次數(shù),根據(jù)業(yè)務(wù)需求調(diào)優(yōu)Redis配置

http://m.risenshineclean.com/news/36213.html

相關(guān)文章:

  • 宜賓做網(wǎng)站公司營銷策略都有哪些
  • 用html5做的美食網(wǎng)站百度明星人氣榜入口
  • 網(wǎng)站建設(shè)服務(wù)百度com百度一下你
  • 免費(fèi)網(wǎng)站建設(shè)哪個(gè)好 - 百度百度新聞排行榜
  • 竹子建站怎么樣上海優(yōu)化網(wǎng)站seo公司
  • 攜程電子商務(wù)網(wǎng)站建設(shè)微信營銷的方法
  • wordpress建站如何制作微信seo顧問能賺錢嗎
  • 營銷網(wǎng)站搭建百度指數(shù)是搜索量嗎
  • 建設(shè)銀行網(wǎng)站是多少南京百度網(wǎng)站快速優(yōu)化
  • 互聯(lián)網(wǎng)公司網(wǎng)站模板百度極速版app下載安裝掙錢
  • 藍(lán)牙 技術(shù)支持 東莞網(wǎng)站建設(shè)安卓優(yōu)化大師官方版
  • 佛山做網(wǎng)站哪家公司最好seo需要培訓(xùn)才能找到工作嗎
  • 做視頻鏈接網(wǎng)站seo網(wǎng)址大全
  • 用什么系統(tǒng)做威客網(wǎng)站seo教學(xué)實(shí)體培訓(xùn)班
  • 廣州做網(wǎng)站建設(shè)的公司泰安百度公司代理商
  • 網(wǎng)站建設(shè) 維護(hù)購銷合同長春seo按天計(jì)費(fèi)
  • 杭州市建設(shè)網(wǎng)站網(wǎng)上推廣企業(yè)
  • 如何 套用模板做網(wǎng)站線上營銷模式
  • 幫我寫一篇網(wǎng)站谷歌seo推廣培訓(xùn)班
  • 網(wǎng)站用視頻做背景音樂武漢seo公司出 名
  • 網(wǎng)站開發(fā)mvc架構(gòu)重慶百度競價(jià)開戶
  • photoshop基礎(chǔ)入門教程做seo網(wǎng)頁價(jià)格
  • 網(wǎng)站響應(yīng)時(shí)間多久網(wǎng)絡(luò)營銷崗位描述的內(nèi)容
  • 邢臺做網(wǎng)站推廣報(bào)價(jià)百度標(biāo)記號碼認(rèn)證平臺
  • 哪個(gè)網(wǎng)站diy做寶寶衣服網(wǎng)站怎么接廣告
  • 專門做app網(wǎng)站網(wǎng)站推廣和優(yōu)化的原因網(wǎng)絡(luò)營銷
  • wordpress 多語言 插件網(wǎng)站搜索引擎優(yōu)化方法
  • 西安網(wǎng)站建設(shè)維護(hù)76人vs猛龍
  • 做一樣的模板網(wǎng)站會被告侵權(quán)嗎品牌營銷策劃公司哪家好
  • 餐館網(wǎng)站怎么做的百度關(guān)鍵詞優(yōu)化排名