Open anlexN opened 6 years ago
@Microsoft, can you speak something?
A week ago I also found out that this Redis port for Windows was moved to "MicrosoftArchive" and is no longer supported, yet my client planned to use it along with their ASP.NET and WCF-based solutions, so staying close to Windows is essential for them. While researching for another caching solution available for Windows platform I spent a couple of evenings to see how it could be updated to Redis 4.0.2. I haven't seen Redis code before and it's been a while since I last used C, so it all would be best summarized with:
;). Except that it works, partially, but works. You can find the updated code in my MSOpenTech/Redis fork, branch win-4.0.2. Please read the DISCLAIMER first in README as some vital parts are not fully working yet. There is also no binary release, but it can be compiled at least in VS2017.
I would of course like to get some feedback to see whether there is a need for a full port of Redis for Windows - then I could decide if I should get to know Redis' internals and all that stuff ;)
I will cross-post this also to other issues related to future of this project, so that everybody who's interested get to know about this: #525 #497 #523 #573 #565 #556 antirez/redis#4025
@tporadowski awesome work! People often think that if that can't do something completely and perfectly then they shouldn't start on it at all. These first steps are fantastic
@tporadowski this is excellent news! I will check it out.
No microsoft official or redis team, this is a big hard, big trouble.
If you want redis to run on windows, I recommend use container technology. You can install docker and install latest redis version on docker as a container. And use it. That's what I'm doing on my development pc.
A small hint after installing container: Open powershell and write:
docker run -p 6379:6379 redis
With that command you can have standard redis port up and running...
And here is benchmark with old redis-benchmark.exe:
it is a big detour
@mlhkr you're absolutely right - it can be started within a VM, container, etc. but for various reasons - this is not always feasible, unfortunately.
you can also try to use windows 10 subsystem
We had so many problems with this port. I really recommend to move to Linux for Redis. When you need Redis you have a multi-server architecture. Where is the deal with getting a Linux VM for Redis?
@SebastianStehle when installing an application on premises for bigger corporations - adding one more stack element (Redis) that needs to be taken care of by their team is sometimes... problematic. Not even from technical perspective, but usually from organizational. Thus if you have an application that relies on Windows and your team is deploying it there - it's simply easier to bundle it together without all that hassle :)
This was also our argument when we started to host it in Windows. And then it caused so much problems that all these arguments became invalid later ;)
@SebastianStehle could you please share some more details about those problems?
contact microsoft CEO, @everyone
Having it running on the same server as the application is a big advantage and less infrastructure to maintain. So far it has been running without any issue for us.
If you are interested in testing Redis 4.0.2 for Windows - please give this alpha release a try :)
@tporadowski , what features do your alpha release support? what difference combared to official redis?
@anlexN: Redis 4.0.2 for Windows is a merge of Windows-specific changes from latest (unsupported) 3.2.100 release from MSOpenTech and Redis 4.0.2 and my alpha release consists of:
Main difference to official Redis 4.0.2 (except no support for modules at the moment) is old version of jemalloc-win
dependency, which is planned to be updated to the same version in beta release. There is also a pending task tporadowski/redis#5 to review bigger Windows-specific changes and compare them with latest Redis code (as some behavior may have been changed there).
@tporadowski , can you be MSOpenTech contributor? contact them. Do you plan to develop actively? I want to have a guarantee.
@anlexN apparently there was not enough interest from Microsoft to further support Redis on Windows and it got "archived" here. Thanks to their work and contribution it can be further maintained, but for the moment I have no idea if there is any bigger interest in it from the community/companies (it's hard to tell much by looking at the list of 14 stargazers and 6 watchers gained over last month).
Current state of Redis 4.0.2 for Windows serves the needs of my client who is incorporating Redis into their application landscape, so in case we run into any issues there - I will fix them and publish them on Github. Personally maintaining Windows port of Redis is a welcome distraction from my everyday tasks (different language, different tool set, etc.), so I would like to further keep this port alive in my spare time - but it would have been way nicer if I only knew that you and @Jerry-Shaw are not the only users of that port out there ;). So as you may have guessed - there are no guarantees at the moment.
@tporadowski . thank you, you are right. i hope you will have more confidence
@anlexN I've been developing software for more than 20 years and I still love it :), so it's not about confidence but about a purpose. I just need to have a real purpose here to keep it going. I'm not saying that without thousands of interested users it doesn't make sense and I'm already really happy to see that my fork gets some traction, but it would certainly help if my efforts on porting Redis to Windows were beneficial to a broader audience.
for so much time & energy consuming hard work, your fork is so much appreciated, @tporadowski.
as i've also struggled with the unstable version in the past & later my system factually been forcefully migrated into Linux with some reasons this & there.. :)
thanks again 👍
Windows 10 Anniversary update can run Linux ubuntu as a subsystem, so, no VM OS host (such as vagrant) needed. https://stackoverflow.com/questions/6476945/how-do-i-run-redis-on-windows I have run Redis 4.0.2 and make test passed all tests except with a few warnings. I understand that those C++ MS gurus should invest in getting this subsystem top-level (which it nearly is I think) so those Linux servers run without porting it first to windows compatible code. B.t.w. they did a wonderful job on Redis 3.2 on Windows, looking at the source. Very instructive to see how you should code C++ :)
Hi @anlexN @nlhnt , this repository hasn't been updated in almost 3 years. But finally there is a new software that provides Redis compatibility on Windows, and is currently up-to-date with the Redis 5 API. See https://github.com/MicrosoftArchive/redis/issues/620.
I would like to know that as well. Any other alternatives?