Redis注册windows服务
redis有windows版和linux版的,本文讲的是windows版相关的一些问题。
1、问题
使用命令redis-server.exe --service-install redis.windows.conf命令将redis注册为服务,启动服务时报错:
本地计算机上的Redis服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。
使用命令redis-server.exe redis.windows.conf临时安装redis,结果报错:
The Windows version of Redis allocates a memory mapped heap forsharing with
the forked process used for persistenceoperations. In order to share this
memory, Windows allocates from the systempaging file a portion equal to the
size of the Redis heap. At this time thereis insufficient contiguous free
space available in the system paging filefor this operation (Windows error
0x5AF). To work around this you may eitherincrease the size of the system
paging file, or decrease the size of theRedis heap with the --maxheap flag.
Sometimes a reboot will defragment thesystem paging file sufficiently for
this operation to complete successfully.
Please see the documentation included withthe binary distributions for more
details on the --maxheap flag.
Redis can not continue. Exiting.
如图:
2、原因
由于没有指定maxheap导致的,当然了不指定该参数不一定报错,但是出现上述原因,通常是这个原因导致的。
3、解决
3.1、如果需要临时启动Redis
使用命令:redis-server.exe redis.windows.conf --maxheap 200m
说明:200m是指定最大堆内存是200m,当然你也可以修改得在大一些
3.2、如果需要将Redis注册为服务
如果已经注册为了服务,先卸载掉,卸载方法是,用cmd进入到你的redis文件的目录,然后执行命令:
redis-server --service-uninstall
卸载完成后,重新安装服务,执行命令:
redis-server.exe --service-install redis.windows.conf --maxheap 200m
说明:200m是指定最大堆内存是200m,当然你也可以修改得在大一些
4、redis service failed to start
出现这种错误我看博客有别的解决办法,在这里我只讲自己遇到的一种,很简单,就是我没有关掉之前通过cmd开启的三个端口界面:如6380、6381、6382这几个启动服务界面。关掉,重新卸载、安装redis就可以了。
5、Redis 安装系统服务报错 HandleServiceCommands: system error caught. error c ode=1073, message = CreateS
原因:系统服务中已经存在
解决办法:
1)先卸载服务:
redis-server –service-uninstall
2)然后再安装:
redis-server–service-install redis.windows.conf
启停:
启动服务:redis-server –service-start
停止服务:redis-server –service-stop