6

I need to configure Redis in HA mode (in cluster) using Redis Sentinel with two Windows Server 2016. Searching around, there is a lot of material on how to install Redis on Windows and none of them seemed.... right to me.

I got to this page which lists most of them in an organized way: https://github.com/ServiceStack/redis-windows

I basically have problem with all of them and would like to understand some things and maybe even get the recommended way to guide me:

  • Install Redis on Ubuntu on Windows
    • This seems... cheaty. Will it have good performance? Will I be able to configure a cluster this way (without much headache), having a Ubuntu VM running on the Windows?
  • Vagrant
    • Basically the same as above
  • Microsoft Native Port
    • This seems less cheaty but on the other hand is rather out-dated. The version available is for Redis 3.0 (the last version is 5.0). So I'm afraid I will be missing out a lot of good features and improvements.
João Menighin
  • 3,083
  • 6
  • 38
  • 80

2 Answers2

6

If you are looking for a native port of Redis on Windows, I recommend www.Memurai.com It is on par with Redis 5.0.9 and has Windows EventLog integration.

Peter Majeed
  • 5,304
  • 2
  • 32
  • 57
Rushvel
  • 206
  • 3
  • 4
5

I'm not clear why you think running the native version of Redis on Linux on Windows either on WSL or in a VM "seems cheaty"? It's the only way to run a supported and recent version of Redis on Windows. I'd be more comfortable running the supported and tested official version of Redis via WSL or VM than I would running an unsupported abandoned fork with known issues.

WSL has disk performance issues, but since Redis mostly runs in memory (except for disk persistence) it runs fine, WSL2 has been optimized for performance so it should run faster, especially disk performance.

But if you've found performance to be an issue you'd just run it on Linux, running Redis on Ubuntu is about the easiest thing you can run on Linux.

mythz
  • 141,670
  • 29
  • 246
  • 390
  • Hi @mythz thanks for the answer. It seems cheaty to me because usually you would build a product to run in different SO's, not the other way around. But virtualization is more commom now, I agree. Unfortunelly my client has on premise windows machines and cannot provide ubuntu ones, so it need to be installed on Windows. I was hoping for an easier way with less moving parts... – João Menighin Jun 18 '19 at 18:49
  • @JoãoMenighin Redis is a distributed data structure server designed for Unix/Linux and makes use of Linux features like fork()'s COW which doesn't exist on Windows, hence the known issues of the abandoned Windows Port. Redis Labs/Salvatore have no interest in porting Redis to Windows, only Microsoft did before they abandoned their fork and put all their efforts on improving WSL. If your client wants to run a Linux process they're either going to need to run Linux, either in a VM or in WSL, otherwise they'd need to run an unsupported abandoned fork, that's their only choices. – mythz Jun 18 '19 at 19:05
  • Thanks a lot mythz. My clients windows server is the 2016 version, hence I cannot go with the WSL option. Would you recommend any good tutorials about Redis on virtualization either using Vagrant, Docker or something like that? (I will search of course, just want to know if you know anything that would help :) ) – João Menighin Jun 18 '19 at 19:07
  • 1
    @JoãoMenighin Option 2 contains [instructions on running in Vagrant](https://github.com/ServiceStack/redis-windows#option-2-running-the-latest-version-of-redis-with-vagrant) otherwise the [official Redis Docker image](https://hub.docker.com/_/redis#how-to-use-this-image) contains the 1 line command to run the `redis` image in Docker and examples on how to run a customized version. – mythz Jun 18 '19 at 19:13