參數配置
更新時間 2025-04-20 19:30:00
最近更新時間: 2025-04-20 19:30:00
分享文章
本文介紹Redis修改實例配置參數
分布式緩存Redis緩存實例創建后,支持在控制臺修改實例配置參數。修改Redis實例的配置參數可以對Redis的行為和性能進行調優和優化,以滿足特定的需求。
前提條件
只有當分布式緩存Redis緩存實例處于“運行中”狀態,才能執行此操作。
操作步驟
- 登錄 。
- 在管理控制臺左上角選擇實例所在的區域。
- 在實例列表頁,單擊目標實例名稱進入實例詳情管理。
- 左側菜單點擊實例配置->參數配置,打開參數配置界面。
- 點擊修改按鈕, 修改參數后點擊保存,即可生效。
- 實例參數配置支持導入導出,點擊導入按鈕可導入csv格式的參數配置文件,點擊導出按鈕會將當前實例參數配置導出為文件。
注意修改以上默認實例配置會修改整個集群的實例配置,一般情況下,按照系統默認值設置參數即可,不建議修改。如您希望了解Redis更詳細的參數說明,可參考Redis官方文檔。
參數說明
參數名稱 取值范圍 說明 appendfsync no,always,everysec 操作系統的fsync函數刷新緩沖區數據到磁盤。
Redis支持三種不同的調用fsync的方式:
no:不調用fsync,由操作系統決定何時刷新數據到磁盤,性能最高。
always:每次寫AOF文件都調用fsync,性能最差,但數據最安全。
everysec:每秒調用一次fsync。兼具數據安全和性能。appendonly yes,no 指定是否在每次更新操作后進行日志記錄(即持久化功能),Redis在默認情況下是異步的把數據寫入磁盤,如果不開啟,可能會在斷電時導致一段時間內的數據丟失。
有以下取值供選擇:
yes: 開啟。
no: 關閉。hash-max-ziplist-entries 1~10000 當hash表中只有少量記錄時,使用有利于節約內存的的數據結構來對hashes進行編碼。 hash-max-ziplist-value 1~10000 當hash表中最大的取值不超過預設閾值時,使用有利于節約內存的的數據結構來對hashes進行編碼。 latency-monitor-threshold 0~86400000 延時監控的采樣時間閥值(最小值),單位為毫秒。
閥值設置為0:不做監控,也不采樣;
閥值設置為大于0:將記錄執行耗時大于閥值的操作。
可以通過LATENCY等命令獲取統計數據和配置、執行采樣監控lua-time-limit 100~60000 Lua腳本的最長執行時間,單位為毫秒。 maxclients 1000~50000 最大同時連接的客戶端個數。 maxmemory-policy volatile-lru,allkeys-lru,volatile-lfu,allkeys-lfu,volatile-random,allkeys-random,volatile-ttl,noeviction 在達到內存上限(maxmemory)時實例將如何選擇要刪除的內容。有8個取值供選擇:
volatile-lru:根據LRU算法刪除設置了過期時間的鍵值。
allkeys-lru:根據LRU算法刪除任一鍵值。
volatile-random:刪除設置了過期時間的隨機鍵值。
allkeys-random:刪除一個隨機鍵值。
volatile-ttl:刪除即將過期的鍵值,即TTL值最小的鍵值。
noeviction:不刪除任何鍵值,只是返回一個寫錯誤。
volatile-lfu: 根據LFU算法刪除設置了過期時間的鍵值。
allkeys-lfu: 根據LFU算法刪除任一鍵值。proto-max-bulk-len 1048576~536870912 Redis協議中的最大的請求大小,單位為字節。 list-compress-depth 0~65535 列表中兩端不被壓縮的節點個數,取值范圍0~65535。
0:默認值,表示都不壓縮。
1~65535:表示list兩端各有1~65535個節點不壓縮,中間的節點壓縮。repl-backlog-size 16384~1073741824 用于增量同步的復制積壓緩沖區大小(單位為字節)。這是一個用來在從節點斷開連接時,存放從節點數據的緩沖區,當從節點重新連接時,如果丟失的數據少于緩沖區的大小,可以用緩沖區中的數據開始增量同步。 repl-backlog-ttl 0~604800 從節點斷開后,主節點釋放復制積壓緩沖區內存的秒數。值為0時表示永不釋放復制積壓緩沖區內存。 repl-timeout 30~3600 主從同步超時時間,單位為秒 set-max-intset-entries 1~10000 當一個集合僅包含字符串且字符串為在64位有符號整數范圍內的十進制整數時,使用有利于節約內存的的數據結構對集合進行編碼。 slowlog-log-slower-than 0~1000000 用于設置Redis慢查詢日志的閾值,單位是微秒。 slowlog-max-len 100~10000 慢查詢記錄的條數。注意慢查詢記錄會消耗額外的內存。可以通過執行SLOWLOG RESET命令清除慢查詢記錄。 timeout 0~7200 客戶端空閑N秒(timeout參數的取值)后將關閉連接。當N=0時,表示禁用該功能。 zset-max-ziplist-entries 1~10000 有序集合中只有少量記錄時,使用有利于節約內存的的數據結構對有序序列進行編碼。 zset-max-ziplist-value 1~10000 當有序集合中的最大取值不超過預設閾值時,使用有利于節約內存的的數據結構對有序集合進行編碼。 is-open-flashback yes,no 是否開啟閃回 is-open-dangercmd-switch yes,no 危險命令開關 hz 1~500 設置Redis后臺任務執行頻率,例如清除過期鍵任務。取值范圍為1~500,默認值為10,即每秒執行10次。 aof-timestamp-enabled yes,no aof記錄時間戳開關 activedefrag yes,no 自動清理內存碎片開關 active-defrag-ignore-bytes 104857600~10737418240 內存碎片占用空間達到設定值的時候開始清理 active-defrag-threshold-lower 10~100 內存碎片率大于設定值的時候開始清理 active-defrag-cycle-min 1~25 內存碎片清理所占用CPU時間的比例不低于設定值(%) active-defrag-cycle-max 1~25 內存碎片清理所占用CPU時間的比例不高于設定值(%) auto-aof-rewrite-min-size 67108864~34359738368 設置自動重寫AOF文件的最小值。注,當前運行值隨規格變化,可不用關注默認值。