State of Redis on Windows in 2019?
Asked Answered
A

2

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.
Anion answered 18/6, 2019 at 15:32 Comment(0)
G
6

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.

Gingivitis answered 18/6, 2019 at 18:29 Comment(4)
Hi @Gingivitis 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...Hyetology
@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.Gingivitis
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 :) )Hyetology
@JoãoMenighin Option 2 contains instructions on running in Vagrant otherwise the official Redis Docker image contains the 1 line command to run the redis image in Docker and examples on how to run a customized version.Gingivitis
A
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.

Afterimage answered 30/6, 2020 at 18:43 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.