Learning a lot of NoSQL data-stores is easy in part because all you have to do in order to run the server, is to click on an executable file and it starts listening on a local IP address and port. Redis works the same way. But in order to run Redis in production environment, one cannot rely on a console application listening on a port. After all, there’s always a risk of someone closing the console application and shutting down the entire cache.
To remediate this, we run such products as services. Redis is no exception and in this article we will learn how to run Redis as a Windows service.
In my last article I showed how to compile and run Redis in a 32 bit Windows environment. In this article, I am going to use the same build to run it as a Windows service.
NOTE: If you have a 64 bit processor computer, you can directly go to this link and download the binaries, in ready to use condition.
NOTE: It is always preferable to run Redis on non-default port, as that gives us the option of running an ad-hoc instance of Redis server for quick experimentation and learning. In this exercise we are going to run Redis as a service in 32 bit Windows environment and provide the runtime configuration via a configuration file.
1. Navigate to the folder with a sample configuration file. In the source code that folder will be
2. Locate the line that signifies the port on which the Redis will listen for connections. This is found in “General” category. To search, use the word “port” and change the port number to something that is available on your machine. For this exercise, change it to 6377.
3. Copy the file in the same folder as redis-server.exe. If you compiled the code that folder will be located at the following location: redis-3.0->msvs->Win32(*mine is 32 bit environment)->Release(* compile configuration). For more information on how compile Redis source code for 32 bit Windows environment, refer to my last post.
4. Open a command prompt and navigate to the location where you are storing the Redis executable named redis-server.exe and execute the following commands:
a. C:/Redis-3.0>Redis-server - -service-install redis.windows.conf - -service-name “Redis Server”
b. C:/Redis-3.0>net start “Redis Server”
c. C:/Redis-3.0>Redis-cli –h 127.0.0.1 –p 6377
5. If the service installation was successful and it started successfully, then you will be able to ping the server and receive a response back.
6. Just in case you decide to uninstall the service, issue the following commands:
a. C:/Redis-3.0\msvs\Win32\Release>net stop “Redis Server”
b. C:/Redis-3.0\msvs\Win32\Release>sc delete “Redis Server”
Now you can go ahead and practice with Redis command line interface by connecting to this service.