因此,当我正常启动时,我可以使用dump.rdb
中的dir
选项来更改redis.conf
的位置目录(只需调用redis-server
) 。如果我想让redis-server一直运行(我这样做)而不需要总是打开终端窗口,我想我需要守护它。但是,似乎这并不会自动持续存在于磁盘上,并且每当redis-server进程结束时(我只是通过运行redis-cli shutdown
来结束测试,或者有时只是使用{{1}来终止进程并且开始备份,所有数据库更改都会丢失,如果将来发生崩溃或意外关闭,这似乎非常糟糕。在运行数据处理的代码中(使用带有redis-py的python或带有jedis的java),我可以显式运行kill PID
,但是会在运行代码的目录中保存bgsave()
并且而不是dump.rdb
dir
选项指定的位置
那么,有没有另一种方法来运行redis-server而不需要一个完整的终端窗口保持打开状态允许我想要做的事情,或者是否有办法让数据在正确的目录中保留在磁盘上以redis.conf
或类似方式运行?
答案 0 :(得分:0)
你可以使用nohup将它放在linux“后台”上。它不需要终端窗口来保持运行。我不知道daemonize选项给你一个建议,但是,看看它是否适合你:
nohup redis-server &> redis.log&
或
在conf文件中设置daemonize yes并运行:
redis-server path / to / redis.conf