停止redis会导致/var/run/下的/redis/文件夹被删除

停止redis会导致/var/run/下的/redis/文件夹被删除,redis,Redis,我有一个在套接字上运行redis的设置。在配置中,我有到/var/run/redis/redis.sock的套接字路径。每次停止redis时,文件夹/redis/将与.sock文件一起从/var/run/中删除。因此,当再次尝试启动redis时,它将不会启动,因为该文件夹已丢失。在开始之前,我必须手动创建文件夹 您知道如何解决这个问题吗?临时解决方案是将您的套接字指向/var/lib/redis sockets/ 同时将保护“/var/lib/redis/”不被外部使用 mkdir -p /va

我有一个在套接字上运行redis的设置。在配置中,我有到/var/run/redis/redis.sock的套接字路径。每次停止redis时,文件夹/redis/将与.sock文件一起从/var/run/中删除。因此,当再次尝试启动redis时,它将不会启动,因为该文件夹已丢失。在开始之前,我必须手动创建文件夹


您知道如何解决这个问题吗?

临时解决方案是将您的套接字指向/var/lib/redis sockets/ 同时将保护“/var/lib/redis/”不被外部使用

mkdir -p /var/lib/redis-sockets/
chown redis:redis /var/lib/redis-sockets/
另一个解决方案是让用户读取“/var/lib/redis”,并将redis套接字指向那里

编辑:此外,您可以使用/var/run/redis sockets作为目录-这样您可以获得最大性能(内存中),但您必须通过在服务配置(override.conf)中添加几行代码来稍微重写systemd:


我在3.2、4.0和5.0版本中也遇到了同样的问题,原因是我使用了多个redis实例,每次重新启动都会完全删除/var/run/redis中的所有内容以及dir本身
[Service]
RuntimeDirectory=redis-sockets
RuntimeDirectoryMode=0755