日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Redis 如何刪除數(shù)據(jù)

科技綠洲 ? 來源:Java技術(shù)指北 ? 作者:Java技術(shù)指北 ? 2023-10-09 16:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Redis 中所有的鍵都可以設(shè)置過期策略,就像是所有的鍵都可以上"生死簿",上了生死簿的鍵到時(shí)間后閻王就會(huì)叉掉這個(gè)鍵。同一時(shí)間大量的鍵過期,閻王就會(huì)忙不過來。同時(shí)因?yàn)?Redis 是單線程的,導(dǎo)致閻王的處理時(shí)間會(huì)變得很長,而且處理繁忙,Redis 就會(huì)出現(xiàn)卡頓現(xiàn)象。

Redis 有三種策略刪除過期 Key

相關(guān)命令

expire key seconds  # 過期時(shí)間為秒數(shù),key 不存在時(shí)返回(integer) 0key 存在的時(shí)返回(integer) 1

pexpire key milliseconds # 同 expire,設(shè)置的過期時(shí)間為毫秒數(shù)

setex key seconds value # 只能設(shè)置字符串的過期時(shí)間

ttl key # 查看 Key 的過期時(shí)間(秒數(shù)),用不過期返回(integer) -1Key 不存在返回(integer) -2

pttl key # 同 ttl,返回毫秒數(shù)

過期 Key

Redis 的每個(gè)設(shè)置了過期時(shí)間的 Key 都會(huì)放在一個(gè)獨(dú)立的字典中,用于遍歷刪除。

過期策略

被動(dòng)刪除

Key 在被操作時(shí),Redis 主動(dòng)檢查 Key 是否過期,過期則刪除,返回 nil

  1. 對(duì) CPU 友好,只有 Key 在被操作時(shí)刪除,不會(huì)浪費(fèi) CPU 時(shí)間
  2. 對(duì)內(nèi)存不友好,如果同時(shí)有大量的 Key 過期,這些 Key 在被使用之前不會(huì)被刪除,就會(huì)浪費(fèi)內(nèi)存

主動(dòng)刪除

Redis 會(huì)周期性的隨機(jī)掃描一批設(shè)置了過期時(shí)間的 Key 并進(jìn)行處理,Redis 每秒進(jìn)行10次過期掃描會(huì)做的操作有:

  1. 隨機(jī)掃描100個(gè)設(shè)置了過期時(shí)間的 Key
  2. 刪除所有發(fā)現(xiàn)的過期 Key
  3. 如果刪除的 Key 超過1/4則重復(fù)步驟1
hz 10

Redis 除了設(shè)置每秒10次的掃描頻率之外,還設(shè)置了每次掃描不會(huì)超過25ms 的上限,以防出現(xiàn)過度循環(huán)掃描,導(dǎo)致線程卡死。

maxmemory

# maxmemory

當(dāng)已用的內(nèi)存超過 maxmemory 配置的內(nèi)存時(shí),會(huì)觸發(fā)主動(dòng)清除策略

# maxmemory-policy noeviction
  1. noeviction 永不過期策略,當(dāng)已用內(nèi)存超過 maxmemory 配置時(shí),寫操作將返回錯(cuò)誤,讀操作和 del 操作可以繼續(xù)服務(wù)。
  2. volatile-lru 只刪除設(shè)置了過期時(shí)間的 Key,使用頻率越少的 Key 優(yōu)先刪除,不會(huì)對(duì)沒有設(shè)置過期時(shí)間的 Key 刪除
  3. volatile-ttl 和上面一樣,只刪除設(shè)置過期時(shí)間的 Key,TTL 過期時(shí)間越少優(yōu)先刪除
  4. volatile-random 隨機(jī)刪除快要過期的 Key
  5. allkeys-lru 和 lru 一樣,刪除所有的 Key,沒有設(shè)置過期時(shí)間的 Key 也會(huì)被刪除
  6. allkeys-random 和上面一樣,刪除掉隨機(jī)的 Key

Redis 采用的過期策略

被動(dòng)刪除+主動(dòng)刪除

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11332

    瀏覽量

    225975
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7349

    瀏覽量

    95053
  • key
    key
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    13377
  • Redis
    +關(guān)注

    關(guān)注

    0

    文章

    394

    瀏覽量

    12258
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    我用labSQL中的ADO Recordset Delete Record.vi 函數(shù)刪除數(shù)據(jù)庫中的一

    求助:我用labSQL中的ADO Recordset Delete Record.vi 函數(shù)刪除數(shù)據(jù)庫中的一行記錄,為啥不得行呢?運(yùn)行之后,數(shù)據(jù)庫里面并沒有刪除???出現(xiàn)的問題是:ADO
    發(fā)表于 12-02 14:57

    請(qǐng)問LabVIEW如何刪除數(shù)組中的空白元素

    請(qǐng)問LabVIEW如何刪除數(shù)組中的空白元素還有如何把一行一行的字符串組成的數(shù)組分別填寫到表格中
    發(fā)表于 02-17 13:19

    刪除數(shù)組元素

    刪除數(shù)組元素作為條件結(jié)構(gòu)的條件輸入端是怎么回事啊。。。
    發(fā)表于 03-30 15:51

    刪除數(shù)組里指定的多個(gè)相同元素

    如題,如何刪除數(shù)組里指定的多個(gè)相同元素,求大神指導(dǎo)、、、
    發(fā)表于 12-26 13:32

    在labview使用sql語句刪除數(shù)據(jù)庫中的重復(fù)內(nèi)容出現(xiàn)錯(cuò)誤,求解

    最近一直在自學(xué)使用labview控制數(shù)據(jù)庫,相關(guān)的書籍資料都不多,有相同興趣的歡迎溝通互相學(xué)習(xí)使用labsql一直出現(xiàn)問題,之前排序的運(yùn)行成功卻發(fā)現(xiàn)只是對(duì)查詢數(shù)據(jù)進(jìn)行排序不能對(duì)本身這次需要刪除數(shù)據(jù)庫中重復(fù)內(nèi)容,我查找了相關(guān)語句,
    發(fā)表于 03-07 12:30

    刪除數(shù)字字符串無效零

    看到有人問怎么刪除數(shù)字字符串的無效零,所以在這里發(fā)一下!可以像圖中這樣使用
    發(fā)表于 01-03 19:42

    刪除數(shù)組中的零元素

    提供了兩種刪除數(shù)組零元素的方法,前一種略麻煩,重新設(shè)計(jì)了一種,可能是我知道的最簡單粗暴的版本了吧
    發(fā)表于 03-22 22:37

    《Visual C# 2008程序設(shè)計(jì)經(jīng)典案例設(shè)計(jì)與實(shí)現(xiàn)》---動(dòng)態(tài)刪除數(shù)據(jù)數(shù)據(jù)信息

    《Visual C# 2008程序設(shè)計(jì)經(jīng)典案例設(shè)計(jì)與實(shí)現(xiàn)》---動(dòng)態(tài)刪除數(shù)據(jù)數(shù)據(jù)信息.zip
    發(fā)表于 06-25 16:48

    如何使得redis中的數(shù)據(jù)不再有

    嵌入式Linux系統(tǒng)重啟后如何使得redis中的數(shù)據(jù)不再有今天在工作中遇到一個(gè)問題:網(wǎng)頁展示redis中的數(shù)據(jù),然而再Linux系統(tǒng)重啟后網(wǎng)頁還能展示
    發(fā)表于 11-05 08:50

    JAVA教程之創(chuàng)建與刪除數(shù)據(jù)庫中的表

    JAVA教程之創(chuàng)建與刪除數(shù)據(jù)庫中的表,很好的JAVA的資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-13 09:47 ?3次下載

    手機(jī)如何永久刪除數(shù)據(jù)

    為了保護(hù)隱私,在切換舊手機(jī)之前,需要完全清除手機(jī)數(shù)據(jù)。它一直是我們恢復(fù)出廠設(shè)置的最常用方法?;謴?fù)出廠設(shè)置的舊手機(jī),其他人仍然可以恢復(fù)已刪除的照片、數(shù)據(jù)。那么如何徹底刪除舊手機(jī)上的
    的頭像 發(fā)表于 03-01 14:53 ?3.2w次閱讀

    如何才能刪除SQL數(shù)據(jù)局鏡像

    SQLSERVER刪除數(shù)據(jù)庫鏡像 SQLServer刪除數(shù)據(jù)庫鏡像,其實(shí)這之前有個(gè)很詭異的問題。..在數(shù)據(jù)庫鏡像斷開后,如何從新建立鏡像的連接呢?
    發(fā)表于 09-26 17:51 ?18次下載

    微軟「全息云存儲(chǔ)」來了!玻璃做介質(zhì),用光記錄或刪除數(shù)據(jù)

    你能想象嗎,未來有望實(shí)現(xiàn) 全系存儲(chǔ)了!什么意思呢,就是利用光來記錄數(shù)據(jù)頁、玻璃作為介質(zhì)實(shí)現(xiàn)云上存儲(chǔ)。全息晶體可以填充密集的數(shù)據(jù),若想刪除數(shù)據(jù),只需用紫外光就能擦除,也太酷了吧! 這是微軟研究院的一項(xiàng)
    的頭像 發(fā)表于 10-27 13:39 ?3960次閱讀

    Redis數(shù)據(jù)清理策略

    本文整理 Redis數(shù)據(jù)清理策略所有代碼來自 Redis version :5.0, 不同版本的 Redis 策略可能有調(diào)整
    發(fā)表于 09-19 14:24 ?1029次閱讀
    <b class='flag-5'>Redis</b> 的<b class='flag-5'>數(shù)據(jù)</b>清理策略

    Redis刪除策略和內(nèi)存淘汰機(jī)制介紹

    執(zhí)行之前都會(huì)調(diào)用 expireIfNeeded函數(shù)對(duì)其進(jìn)行檢查,如果過期,則刪除該鍵,然后執(zhí)行鍵不存在的操作;未過期則不作操作,繼續(xù)執(zhí)行原有的命令。 定期刪除:由Redis.c/activeExpireCycle 函數(shù)實(shí)現(xiàn),函數(shù)
    的頭像 發(fā)表于 10-09 11:06 ?1301次閱讀
    平泉县| 禹州市| 无棣县| 会宁县| 车险| 巴林右旗| 太湖县| 汝州市| 乌海市| 马龙县| 灵璧县| 北票市| 清苑县| 恩施市| 九台市| 新乡市| 布拖县| 沧州市| 石城县| 武穴市| 水富县| 巧家县| 雅江县| 新丰县| 当涂县| 海伦市| 萍乡市| 新民市| 甘洛县| 秦皇岛市| 防城港市| 澄迈县| 崇明县| 清流县| 临高县| 寿宁县| 桃园市| 竹北市| 曲水县| 湘潭县| 门头沟区|