女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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è)置過期策略,就像是所有的鍵都可以上"生死簿",上了生死簿的鍵到時(shí)間后閻王就會叉掉這個(gè)鍵。同一時(shí)間大量的鍵過期,閻王就會忙不過來。同時(shí)因?yàn)?Redis 是單線程的,導(dǎo)致閻王的處理時(shí)間會變得很長,而且處理繁忙,Redis 就會出現(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 都會放在一個(gè)獨(dú)立的字典中,用于遍歷刪除。

過期策略

被動(dòng)刪除

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

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

主動(dòng)刪除

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

  1. 隨機(jī)掃描100個(gè)設(shè)置了過期時(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)存時(shí),會觸發(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)先刪除,不會對沒有設(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 也會被刪除
  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ī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11063

    瀏覽量

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

    關(guān)注

    8

    文章

    7250

    瀏覽量

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

    關(guān)注

    0

    文章

    53

    瀏覽量

    13067
  • Redis
    +關(guān)注

    關(guān)注

    0

    文章

    385

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(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ù)組里指定的多個(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)只是對查詢數(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è)計(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 ?3w次閱讀

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

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

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

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

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

    本文整理 Redis數(shù)據(jù)清理策略所有代碼來自 Redis version :5.0, 不同版本的 Redis 策略可能有調(diào)整
    發(fā)表于 09-19 14:24 ?588次閱讀
    <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 ?683次閱讀