Redis on Windows – stable and reliable


The MS Open Tech team has been spending quite a bit of time testing the latest build of Redis for Windows (available for download from the MS Open Tech Github repo). As we approach completion of our test plan, we thought we’d share some very promising results.

In phase I of our stress testing, we put Redis on Windows through various tests with execution times ranging from 1 to 16 days, and configurations ranging from a simple single-master setup to more complex configurations such as the one shown below, with one master and four replicas. You can find an overview of the testing strategy and configurations that we used on the wiki page here.

RedisTesting

The results are encouraging – we found only one bug, which we’ve already fixed.

These tests have been done with the port of the Redis 2.6.8 version from Linux to Windows, and this version includes all of the work we announced in January, including 64-bit support. Our goal is to ensure developers that they can trust using Redis on Windows on scenarios where reliability is an important requirement, and we plan to keep testing the code on more ‘demanding’ scenarios to assure that we haven’t missed anything.

If you have comments or recommendations on any scenario we should add to our test plan, or any other suggestions on how we can improve our testing strategy, please let us know. We’ll be happy to consider using any app or scenario that Redis developers feel would be a good test case for Redis.

Claudio Caldato
Principal Program Manager Lead
Microsoft Open Technologies, Inc.

Comments (34)

  1. factormystic says:

    Great, but how about actually committing that work on github? There's been virtually no activity on that repo for months…

  2. Ricardo Peres says:

    Any chance we can get this in Nuget?

  3. @Ricardo Peres:

    We are working on it, ETA next week 🙂

  4. Any ETA on release date? says:

    Including code release on GitHub?

    Wondering why the latest commits are not seen in the GitHub repo – are they dumped once in a while for some reason?

  5. @Any ETA on release date

    WE want to spend some more time testing the bits before we can officially 'release' Redis on Windows. Everything looks good so far so we should have the first 2.6.8 V1.0 version on Windows officially released in the next few weeks.

    not sure what you mean by 'not seeing latest commits'

  6. Ted M. Young says:

    Can you publish the configuration files (i.e., redis.conf) that you've used for testing?

  7. Roopesh Shenoy says:

    "not sure what you mean by 'not seeing latest commits'"

    github.com/…/redis

    If you see the github page, it shows latest commits some 2 months back – I am assuming the above changes were more recent than that. Hence wondering why we don't see newer commits there.

  8. Rusticles says:

    Would love to be able to hook this into a distributed app we're building for real-time updates to the web socket client…

  9. @Roopesh Shenoy

    HI Roopesh, we haven't made any change in the last 2 months, all our commits go into the public repo. You haven't seen any activity because we are working on 2.6.12 while our test team is testing the 2.6.8 version

  10. @Ted M. Young

    You can find the redis.conf we used for testing in the project's wiki, but there is nothing special about it (raw.github.com/…/redis.conf.md)

  11. Roopesh Shenoy says:

    @Claudio – thanks for clarifying that.

    The day I posted, even the trunk din't have commits for around 2 months – but now I do see new commits in the past 2-3 days.

    Just clarifying – so for someone looking for the latest stable port, they should switch to the 2.6.8 tag and get that one, right? cos that's the one that has been tested for about 4 months now – correct?

  12. @Roopesh Shenoy

    Yes the branch to use is 2.6 and we are including binaries for the latest version under the bin directory. We also release NuGet Packages (Redis-32 and Redis-64) so you can install Redis without the need to grab the code from GitHub

  13. A'braham Barakhyahu says:

    Good to hear that Redis is getting close to production ready on Windows.  I could use this like yesterday. 🙂

  14. sali! says:

    Is there ever coming .exe file available? I don't want to build it my self.

  15. @Sali

    You can find the compiled code under the bin directory on the github repo (github.com/…/bin) or you can just use nuGet to deploy the binaries on your machine: Redis-32 deploys the 32bit binaries, Redis-64 if you want the 64bit version.

  16. Hello,

    Does anyone knows if Windows' port is released under the same license asredis.io?

    Thanks you,

    Alex  

  17. @alexgriv

    Yes Redis on Windows is released under the same license used for Redis, you can check the license.txt file in the github repo (github.com/…/license.txt)

  18. @Claudio – Thank you for clarifying about the license.

    Do you have any info about Windows' supportability as well as the roadmap for the upcoming releases?

    Thanks again,

    Alex

  19. @alexgriv

    Roadmap (next couple of months):

    – we are almost ready to release WebPI so it will be even easier to install Redis on Windows.

    – We are working on the latest 2.6.14 codebase so we will have an update for the Windows version in a couple of weeks.

    – We are adding more configuration to our test matrix to include sentinel as well

    Supportability: Like Redis, Redis on Windows is an open source project so there is no 'official' support. we can guarantee a 'best effort' type of support where, if you report an issue and/or a bug, we will try to find a solution and release a patch as soon as possible.

  20. Oliver Janik says:

    Good work! Will you provide a way to run redis as windows service (aka daemon) ?

  21. @ Oliver

    TO run Redis as a service you can use  RedisWatcher (github.com/…/RedisWatcher)

  22. Alex Y. says:

    Is there an ETA for production ready version?

  23. @Alex Y

    We think Redis on Windows is reliable and stable enough for production use. There are already people using it on production.

    For every release we do extensive testing to ensure that the quality of the code is high.

  24. Randall Ulloa says:

    Hi.

    Do you already know and ETA for production version?

    Best regards.

  25. MW says:

    Hi, i would like to know if the redis project branch version 2.6.14 (rebase) is already stable for production use? And if there is a further roadmap for the next versions and following updates?

    kind regards

  26. m_wak says:

    hi, i would like to know if the redis branch 2.6.14 rebase on github stable enough for production use, and if there is a roadmap for further releases?

    kind regards,

  27. Markus says:

    No progress for months? No roadmap for 2.8?

    Well, it seems that Redis on Windows is dead.

  28. Claudio Caldato says:

    @Markus

    Not really, we haven't release (officially) new code for a while but it does not mean we are not working on it. If you check the 2_6_14_Rebase branch you will find plenty of activity.

    We are close to release a new version of our code with, we think, a better overall architecture that will make Redis on Windows better and even more stable. Stay tune for more news soon

  29. Markus says:

    Ah, excellent, thanks for the update 🙂

    I don't like running a Linux box in addition to my Server 2012 R2 just to get all cool bits of software.

    Go MS! 😉

  30. Markus says:

    Thanks four the update Claudio!

    It's annoying to run a virtual machine on the server just to get Linux with Redis, especially when the server is already a Hyper-V guest (awful actually).

    Keep it going, many Windows devs rely on you! 😉

  31. bravemav says:

    @Claudio Caldato

    How does performance of Redis on windows compare to *nix systems? Is performance of Redis on Windows 50%, 75%, 90% of its *nix couterparts?

  32. Evert Wiesenekker says:

    I recently migrated via an ORM solution to RavenDB. And now migrating to Redis and I love it! Thank you for supporting a windows version.

  33. Ajith says:

    Can I use Redis for production purpose. If yes please guide me which version I can use for Windows Server and programming language is C#.

  34. Giovanni says:

    Hi, I'm using in production environment and I'm having some problems; redis-server is running on a virtual machine with Windows Server 2003; redis-server version is 2.6.12 and sometimes it crashes. From event viewer I see this error: "Applicazione che ha provocato l'errore redis-server.exe, versione 0.0.0.0, modulo che ha provocato l'errore ntdll.dll, versione 5.2.3790.3959, indirizzo errore 0x0002bc32". Has someone experienced the same problem? Is it a known problem? Is there a solution? Thanks