在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

科技綠洲 ? 來源:Java技術(shù)指北 ? 作者:Java技術(shù)指北 ? 2023-10-09 16:01 ? 次閱讀

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

Redis 有三種策略刪除過期 Key

相關(guān)命令

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

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

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

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

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

過期 Key

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

過期策略

被動刪除

Key 在被操作時,Redis 主動檢查 Key 是否過期,過期則刪除,返回 nil

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

主動刪除

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

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

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

maxmemory

# maxmemory

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

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

Redis 采用的過期策略

被動刪除+主動刪除

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

    關(guān)注

    68

    文章

    11049

    瀏覽量

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

    關(guān)注

    8

    文章

    7246

    瀏覽量

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

    關(guān)注

    0

    文章

    53

    瀏覽量

    13038
  • Redis
    +關(guān)注

    關(guān)注

    0

    文章

    385

    瀏覽量

    11336
收藏 人收藏

    評論

    相關(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

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

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

    刪除數(shù)組元素

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

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

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

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

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

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

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

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

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

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

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

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

    嵌入式Linux系統(tǒng)重啟后如何使得redis中的數(shù)據(jù)不再有今天在工作中遇到一個問題:網(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 ?3w次閱讀

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

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

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

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

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

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

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

    執(zhí)行之前都會調(diào)用 expireIfNeeded函數(shù)對其進(jìn)行檢查,如果過期,則刪除該鍵,然后執(zhí)行鍵不存在的操作;未過期則不作操作,繼續(xù)執(zhí)行原有的命令。 定期刪除:由Redis.c/activeExpireCycle 函數(shù)實(shí)現(xiàn),函數(shù)
    的頭像 發(fā)表于 10-09 11:06 ?667次閱讀
    主站蜘蛛池模板: 99久久伊人| 午夜视频在线观看www中文 | 一级美女片| 欧美另类videos | 拍拍拍交性免费视频 | jinv在线视频| 色欧美色 | 国产精品久久久久久久牛牛 | 1300部小u女视频免费 | 台湾一级毛片永久免费 | 电源天堂| 一区不卡在线观看 | 久草干| 特级片毛片 | 欧美黄区 | 久久精品免费在线观看 | 欧美成人性高清观看 | 三级视频网 | 一丝不遮视频免费观看 | 天天免费看片 | 天天干影院| 日本视频一区二区 | 99久久婷婷免费国产综合精品 | 唐人社电亚洲一区二区三区 | 老汉影视永久免费视频 | 国模张文静啪啪私拍337p | 欧美性色欧美a在线观看 | 免费一级成人毛片 | 中文字幕一区二区三区在线不卡 | 九色国产在视频线精品视频 | 色骚综合| 人人干人人搞 | 国产伦精品一区二区三区网站 | 色成人综合网 | 伊人久久大香线蕉综合高清 | 美女性视频网站 | 成人av在线播放 | 国模人体一区二区三区 | 狠狠干夜夜爽 | 亚洲成a人一区二区三区 | 午夜亚洲福利 |