🎬 HoRain 云小助手个人主页

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

目录

⛳️ 推荐

⚙️ 核心配置详解

1. 网络与通用设置

2. 持久化配置

3. 内存管理与淘汰策略

4. 安全配置

💎 实用建议


Redis 的配置文件 redis.conf是其高效稳定运行的核心。下面这张表汇总了其主要配置项,方便你快速了解全局。

配置类别

关键配置项

说明与常用值

网络配置

bind

绑定监听的IP地址,默认 127.0.0.1(仅本地)。远程连接需设置为服务器IP或 0.0.0.0

port

服务监听端口,默认 6379

protected-mode

保护模式,默认为 yes。未设置密码且未绑定特定IP时,只允许本地连接,增强安全性。

通用设置

daemonize

是否以守护进程(后台)运行,yes表示后台运行。

pidfile

守护进程运行时,PID文件路径,例如 /var/run/redis_6379.pid

databases

数据库数量,默认 16。连接后可用 SELECT <dbid>切换。

dir

工作目录,用于存放持久化文件(RDB/AOF)等。

持久化 (RDB)

save

RDB快照触发条件。格式为 save <秒> <变更次数>,可配置多个条件。

dbfilename

RDB快照文件名,默认 dump.rdb

stop-writes-on-bgsave-error

RDB持久化出错时是否停止接收写操作,默认为 yes,建议保持。

持久化 (AOF)

appendonly

是否开启AOF持久化,no为关闭,yes为开启。AOF通常提供更强数据安全性。

appendfsync

AOF文件同步策略:everysec(推荐,均衡),always(最安全,性能低),no(由系统决定)。

auto-aof-rewrite-percentage

AOF文件重写触发条件:当前AOF文件比上次重写后大小增长的百分比。

内存管理

maxmemory

最大内存限制,例如 maxmemory 1gb。默认 0表示不限制。

maxmemory-policy

内存达到上限后的数据淘汰策略,常见 allkeys-lruvolatile-lru等。

安全配置

requirepass

设置连接密码,例如 requirepass yourpassword

rename-command

重命名或禁用危险命令(如 FLUSHALL, CONFIG),增强安全性。


⚙️ 核心配置详解

1. 网络与通用设置

这是Redis服务可访问性的基础。

  • bind 127.0.0.1:默认只允许本地连接。如需远程连接,需注释掉该行或设置为 0.0.0.0(监听所有接口)并务必设置密码

  • daemonize no:改为 yes后,Redis将在后台运行,不阻塞终端。

  • dir ./:指定持久化文件和日志等的存储目录,生产环境应设置为明确路径,如 /var/lib/redis

2. 持久化配置

持久化是防止数据丢失的关键,Redis提供RDB和AOF两种方式。

  • RDB (快照):在指定时间间隔内生成数据集的时间点快照。性能高,但可能丢失最后一次快照后的数据

    save 900 1    # 900秒(15分钟)内至少有1个key发生变化
    save 300 10   # 300秒(5分钟)内至少有10个key发生变化
    save 60 10000 # 60秒(1分钟)内至少有10000个key发生变化

    使用 save ""可以禁用RDB。

  • AOF (追加日志):记录每个写操作命令,并在重启时重新执行以恢复数据。数据安全性更高,但文件通常更大

    appendonly yes               # 启用AOF
    appendfsync everysec         # 每秒同步,性能和安全性兼顾
    auto-aof-rewrite-percentage 100 # AOF文件增长100%时触发重写
    auto-aof-rewrite-min-size 64mb  # AOF文件最小重写尺寸
3. 内存管理与淘汰策略

当内存使用达到 maxmemory限制时,Redis会根据 maxmemory-policy进行数据淘汰。

常用策略包括:

  • volatile-lru:从设置了过期时间的键中,移除最近最少使用的键。

  • allkeys-lru:从所有键中,移除最近最少使用的键。这是最常用的策略

  • noeviction:不淘汰,新写入操作会报错。适用于不可丢失的数据。

4. 安全配置

生产环境必须重视安全。

  • 密码认证:通过 requirepass设置密码,客户端连接后需使用 AUTH命令认证。

  • 命令重命名/禁用:可以重命名或禁用高风险命令。

    rename-command FLUSHALL ""   # 禁用清空整个数据库的命令
    rename-command CONFIG "GUARDED_CONFIG" # 重命名配置命令

💎 实用建议

  1. 修改配置前先备份:始终保留一份原始配置文件的备份。

  2. 使用 CONFIG命令:在命令行中,可以使用 CONFIG GET <parameter>查看当前配置,使用 CONFIG SET <parameter> <value>临时修改运行中的配置(重启后失效)。永久生效需修改 redis.conf并重启服务。

  3. 配置需重启生效:对 redis.conf文件的任何修改,都需要重启Redis服务才能生效。

  4. 根据场景选择:根据你的业务需求(是作为缓存还是可靠存储?对性能和数据一致性要求如何?)来调整持久化策略和内存淘汰策略。

希望这份详解能帮助你更好地驾驭Redis。如果你有特定的使用场景(例如,作为缓存服务器或消息队列),我可以提供更具针对性的配置建议。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐