Hugo博客公告弹窗

amh之redis优化

查找 redis-cli 的位置

find / -name redis-cli

建议创建软链接:

ln -s /usr/local/redis-8.0/bin/redis-cli /usr/bin/redis-cli

连接到 Redis CLI

redis-cli

允许 Redis 在保存快照失败时继续写入数据。

config set stop-writes-on-bgsave-error no

验证

config get stop-writes-on-bgsave-error

按 CTRL+D 退出

永久生效

sed -i 's/^stop-writes-on-bgsave-error yes/stop-writes-on-bgsave-error no/' /usr/local/redis-8.0/redis.conf

优化设置

假设服务器内存为8G

# 设置内存上限
redis-cli config set maxmemory 3gb

# 设置内存淘汰策略
redis-cli config set maxmemory-policy allkeys-lru

# 适度提高采样精度
redis-cli config set maxmemory-samples 10

# 永久保存配置
redis-cli config rewrite

启用主动碎片整理

# 更保守的生产环境配置
redis-cli config set activedefrag yes
redis-cli config set active-defrag-threshold-lower 10    # 10%碎片率才开始
redis-cli config set active-defrag-threshold-upper 100
redis-cli config set active-defrag-ignore-bytes 100mb    # 100MB以上才处理
redis-cli config set active-defrag-cycle-min 1          # 最小1% CPU
redis-cli config set active-defrag-cycle-max 25         # 最大25% CPU

# 保存当前配置到配置文件
redis-cli config rewrite

查看碎片

redis-cli info memory | grep -E "(used_memory_human|used_memory_rss_human|mem_fragmentation_ratio)"

如果碎片整理不生效,直接清理

# 直接清空是最快的解决方案
redis-cli flushall

# 立即检查效果
redis-cli info memory | grep -E "(used_memory_human|used_memory_rss_human|mem_fragmentation_ratio)"
CC BY-NC-SA 4.0 转载请注明
最后更新于 2025-08-08 11:15
clarity统计