Redis注册windows服务

1问题

2 原因

3解决

      3.1 如果需要临时启动Redis

      3.2 如果需要将Redis注册为服务

4其他说明

       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.

 

如图:

 

 Redis注册windows服务

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