Linux中: "一个服务器上运行多个Redis服务,应该保证哪些配置不一致"
在同一台服务器上运行多个 Redis 实例时,需要确保每个实例具有独立且不冲突的配置。重点需要保证以下四个配置不冲突(1个端口,3个文件):
-
监听的端口
-
指定的pid文件
-
持久化文件
-
日志文件
注意事项:
pidfile 文件问题:
每个 redis 实例都应拥有单独的 PID 文件路径,如采用守护进程模式(配置文件中配置 daemonize yes),使用 systemd 的管理时候,启动类型需要是:
Type=forking,并且需要保证systemd service 中的 PIDFile 指定的路径 和 redis.conf 中的 pidfile 指定的路径一致,否则不能正常启动。
持久化文件问题:
避免多个实例写入同一个文件导致数据覆盖。可以采用以下两种方式:
- 不同的存储目录,相同的文件名
- 相同的存储目录,不同德文件名
redi 支持不重启服务的情况下修改配置
假设多实例配置的时候,发现某个配置冲突了,例如持久化文件都存储到同一个路径下的同一个文件里面去了。但是此时手动修改配置文件,重启redis会导致业务受到影响,可以通过以下方式修改:
使用客户端工具连接到redis服务后:
- 修改指定配置项的值:CONFIG SET <参数名称> <值>
- 查看指定配置项的值:CONFIG GET <参数名称> (确认修改成功)
- 当前的配置参数重写到配置文件:CONFIG REWRITE (写入配置文件持久生效)
浙公网安备 33010602011771号