中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis中內存溢出問題和持久化方法

發布時間:2020-07-02 04:47:23 來源:網絡 閱讀:341 作者:wx5d81cde3a38cf 欄目:編程語言

一、內存溢出問題

解決辦法

  1. 設置key的過期時間 2. 按需求使用8種數據淘汰策略

  2. volatile-lru(Least Recently Used):從已設置過期時間的數據集中挑選最近最少使用的數據淘汰

  3. volatile-lfu(Least Frequently Used):從已設置過期時間的數據集中挑選一段時間內使用頻率最少的數據淘汰

  4. volatile-ttl(Time To Live):從已設置過期時間的數據集中挑選將要過期的數據淘汰

  5. volatile-random:從已設置過期時間的數據集中隨機選擇數據淘汰

  6. allkeys-lru:從數據集中挑選最近最少使用的數據淘汰

  7. allkeys-lfu:從所有Keys中挑選一段時間內使用頻率最低的數據淘汰

  8. allkeys-random:從數據集中隨機選擇數據淘汰

  9. no-envicition(驅逐):禁止驅逐數據,針對寫操作,返回錯誤信息(不采用任何淘汰策略,默認即此配置)

Redis中內存溢出問題和持久化方法

二、持久化方法

方式一:RDB 簡介

  • RDB:Redis Database(默認持久化機制,默認文件名dump.rdb)

  • 有兩個功能函數rdbSave(生成RDB文件)和rdbLoad(從文件加載到內存)

優點

  1. 快照保存數據極快,還原數據極快

  2. 適用于災難備份

缺點

  1. 小內存及其不適合使用

  2. 符合快照條件才會進行快照,意外宕機會丟失最后一次快照后的所有修改

*快照條件**

  1. Redis服務器正常關閉:./bin/redis-cli shutdown

  2. 配置文件中設置的條件
  • save 900 1 //每900秒(15分鐘)至少1個key發生變化,產生快照

  • save 300 10 //每300秒(5分鐘)至少10個key發生變化,產生快照

  • save 60 10000 //每60秒(1分鐘)至少10000個key發生變化,產生快照

Redis中內存溢出問題和持久化方法

方式二:AOF 原理簡介

  1. redis會將每一個收到的命令都通過write函數追加到文件中(默認是appendonly.aof), 當redis重啟時會通過重新執行文件中保存的“寫命令”來在內存中重建整個redis數據庫中的內容

Redis中內存溢出問題和持久化方法

2. 每當執行服務器(定時)任務或者函數時flushAppendOnlyFile 函數都會被調用, 這個函數執行以下兩個工作:

  • WRITE:根據條件,將 aof_buf 中的緩存寫入到 AOF 文件

  • SAVE:根據條件,調用 fsync 或 fdatasync 函數,將 AOF 文件保存到磁盤中

優點

持久化比RDB更好,不會丟失任何的修改

缺點

  • 持久化文件會變的越來越大

  • 重復命令很多(例如:調用100次 “incr dcl" 命令,則文件中必須保存100條“incr dcl"命令記錄,但是其中的99條記錄都是重復的)
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绍兴县| 会东县| 龙游县| 崇礼县| 东明县| 湖口县| 四平市| 崇州市| 孝昌县| 浮梁县| 浪卡子县| 巴塘县| 寿光市| 金湖县| 峨边| 普格县| 鹰潭市| 钟祥市| 石泉县| 阳高县| 崇仁县| 呼和浩特市| 洞口县| 应城市| 仁寿县| 南部县| 望谟县| 渭南市| 搜索| 房产| 集安市| 论坛| 泸水县| 枣阳市| 岳西县| 合肥市| 视频| 丹棱县| 金寨县| 旅游| 绩溪县|