redis.conf 結構導覽
# 單位大小寫不敏感:1k=1000, 1kb=1024, 1m=1000000, 1mb=1048576
include /path/to/local.conf # 包含其他配置檔(建議放檔案開頭)
核心區塊詳細解析
General 基礎設定
daemonize no # 是否守護進程模式
pidfile /var/run/redis.pid # PID 檔案路徑
port 6379 # 監聽埠(0 關閉 TCP)
tcp-backlog 511 # 連接佇列長度(需配合 sysctl somaxconn)
bind 127.0.0.1 # 綁定 IP(預設僅本地,生產需調整)
timeout 0 # 客戶端閒置斷線秒數(0 關閉)
tcp-keepalive 60 # TCP Keepalive 間隔(秒)
loglevel notice # debug/verbose/notice/warning
logfile "" # 日誌檔(空=stdout,守護進程則 /dev/null)
databases 16 # DB 數量(預設 DB 0)
Snapshotting (RDB) 持久化
save 900 1 # 900 秒內至少 1 次寫入
save 300 10 # 300 秒內至少 10 次
save 60 10000 # 60 秒內至少 10000 次
stop-writes-on-bgsave-error yes # BGSAVE 失敗時拒絕寫入
rdbcompression yes # LZF 壓縮字串物件
rdbchecksum yes # CRC64 校驗
dbfilename dump.rdb # RDB 檔名
dir ./ # 工作目錄(RDB/AOF 存放處)
Replication 主從複寫
slaveof # 設定為從節點
masterauth # 主節點密碼
slave-serve-stale-data yes # 同步中是否服務舊資料
slave-read-only yes # 從節點唯讀
repl-ping-slave-period 10 # 從節點心跳間隔
repl-timeout 60 # 複寫超時
repl-disable-tcp-nodelay no # 關閉 TCP_NODELAY(省頻寬但增延遲)
Security 安全
requirepass foobared # 客戶端連接密碼(建議長複雜密碼)
rename-command CONFIG "" # 禁用/重命名危險指令
rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command KEYS "" # 生產環境建議禁用 KEYS
Memory Management 記憶體管理
maxmemory 2gb # 最大記憶體限制
maxmemory-policy allkeys-lru # 淘汰策略:
# volatile-lru / allkeys-lru / volatile-random / allkeys-random / volatile-ttl / noeviction
maxmemory-samples 5 # LRU/TTL 採樣數
Append Only File (AOF) 持久化
appendonly no # 啟用 AOF
appendfilename "appendonly.aof"
appendfsync everysec # always/everysec/no(效能與安全平衡)
no-appendfsync-on-rewrite yes # AOF 重寫時暫停 fsync
auto-aof-rewrite-percentage 100 # AOF 檔案增長 100% 觸發重寫
auto-aof-rewrite-min-size 64mb # 最小重寫觸發大小
Slow Log 慢查詢日誌
slowlog-log-slower-than 10000 # 微秒(10ms)
slowlog-max-len 128 # 保留筆數
Client & Network 客戶端與網路
maxclients 10000 # 最大連接數(受限於 ulimit -n)
tcp-keepalive 300 # 秒
timeout 0 # 閒置斷線
生產環境建議基線
| 參數 | 建議值 | 理由 |
| bind | 內網 IP 或 0.0.0.0(配合防火牆) | 避免公網暴露 |
| requirepass | 強密碼 | 防未授權存取 |
| rename-command | 禁用 FLUSHALL, KEYS, CONFIG 等 | 防誤操作/資訊洩露 |
| maxmemory | 實體記憶體 70-80% | 留給 OS、緩衝區 |
| maxmemory-policy | allkeys-lru | 通用型淘汰策略 |
| appendonly | yes | 資料不丟失優先 |
| appendfsync | everysec | 效能與安全平衡 |
| slowlog-log-slower-than | 5000-10000 | 捕捉慢指令優化 |