需求分析:
我们知道在linux系统下redis.conf配置文件里面参数daemonize yes可以直接指定redis以守护进程方式执行,所谓守护进程方式运行说白了就是后台运行而不阻塞当前进程,另外redis配置文件中也指明了daemonize yes参数在window不支持,那有没有办法实现在Window下让redis服务在后台运行,方法肯定是有的,而且redis配置文件里面也说了,在window下可以将redis作为Window服务运行,这样就不用担心关闭掉redis-server.exe后还担心redis服务器关闭,也不用每次开机都重新执行redis-server.exe redis.conf来启动redis,下面就是实现步骤:
第一步:将redis-server.exe安装为window下的一个服务
首先切换到redis-server.exe的目录,然后执行如下安装命令:
redis-server.exe --service-install redis.windows.conf --loglevel verbose
其中:--service-install 目的是告诉window要把redis-server.exe安装为一个服务
redis.windows.conf 目的是告诉window启动的时候带上这个参数,这个参数就是redis的配置文件,也就是启动的时候指定redis.window.conf为redis的配置文件
--loglevel 这个参数是指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
执行命令的结果如下,表明安装服务成功:
第二步:启动服务器
切换到redis-server.exe目录下,执行如下启动命令:
redis-server.exe --service-start
看到如下结果后,表明redis启动成功,这时我们发现已经不阻塞当前进程了,也就是说redis服务成功在后台运行了
此时我们怎么验证redis有没有在后台服务中运行呢?
第三步:验证redis服务是否在后台中运行:
打开任务管理器,快捷键是 ctrl+shift+esc键
在服务选项卡中我们看到redis了,且状态是正在运行,说明目的已经达到!
第四步:补充
卸载服务:切换到redis-server.exe目录下,执行如下卸载命令:
redis-server.exe --service-uninstall
停止服务:切换到redis-server.exe目录下,执行如下停止命令:
redis-server.exe --service-stop
安装的时候可以报如下错误:
[10416] 13 Oct 22:23:30.501 # HandleServiceCommands: system error caught. error
code=1073, message = CreateService failed: unknown error
原因是之前已经有reids服务了,重新执行卸载命令redis-server.exe --service-uninstall然后再重新执行安装服务命令即可!