redis README

The project's README from github.com/tporadowski/redis. As one markdown file: README.md.

Redis 5.0.14 for Windows

You can find the release of Redis 5.0.14 for Windows on releases page. Please test it and report any issues, thanks in advance!

Redis 4.0.14 for Windows

You can find the release of Redis 4.0.14 for Windows on releases page. Please test it and report any issues, thanks in advance!

DISCLAIMER

At the moment win-4.0.14 branch provides a stable port of Redis 4.0.14 for Windows x64 and win-5.0 branch provides a stable port of Redis 5.0.14 for Windows x64, both merged with archived port of win-3.2.100 version from MS Open Tech team. Since the latter is no longer maintained - the sources were merged by hand, projects updated to Visual Studio 2019 (v16.2.5) and any findings (mostly via unit tests) were fixed.

You can find the original description of what this fork provides, how it evolved, what are its requirements, etc. on Wiki: https://github.com/tporadowski/redis/wiki/Old-MSOpenTech-redis-README.md

Building from source code

In order to build this project from source code you need to have:

  1. Visual Studio 2019 (i.e. Community Edition, version 16.2.5 or newer) with "C/C++ features" enabled,
  2. Windows SDK 10,
  3. Git Bash for Windows or Cygwin with Git - after cloning this repository you need to run src/mkreleasehdr.sh script that creates src/release.h with some information taken from Git; optionally you can create that file by hand.

Dependencies

This project depends on jemalloc memory allocator, which is slightly customized in regard to calls to VirtualAlloc and VirtualFree WinAPI functions. They are being replaced with calls to AllocHeapBlock/PurgePages and FreeHeapBlock from src/Win32_Interop/Win32_QFork.cpp in order to keep track which memory regions are to be made available to child processes (for saving RDB/AOF).

Changes to jemalloc that provide those customizations are being maintained in tporadowski/jemalloc repository and are copied over to deps/jemalloc.

redis (tporadowski/redis)

key-value
Searching Database…

10.3K ·GitHub
What is this?This is an unofficial native port of Redis for Windows x64. Redis is an in-memory key-value database that persists on disk, and this project rebuilds it so it runs as a real Windows program.
Is it the actual Redis server, or some kind of wrapper?It is the actual Redis server ported natively. You get the usual key-value model with Strings, Lists, Sets, Sorted Sets, Hashes, Streams and HyperLogLogs, kept in memory and persisted to disk.
How do I install it on Windows?Download a prebuilt release from the releases page — Redis 5.0.14 or 4.0.14 for Windows x64, published there as MSI installers you can run directly.
Is this an official port from Microsoft or the Redis team?No — it is unofficial. It continues the archived win-3.2.100 port from MS Open Tech: the sources were merged by hand, projects updated to Visual Studio 2019, and findings (mostly via unit tests) were fixed.
Are there 32-bit builds too, or is it x64-only?The stable branches are Windows x64 ports — the published Redis 4.0.14 and 5.0.14 releases are built for x64.
How did the author get Redis, a C project, to run natively on Windows?Beyond updating the code to Visual Studio 2019 projects, the port ships a customized jemalloc allocator: Windows VirtualAlloc/VirtualFree calls are replaced with AllocHeapBlock/PurgePages and FreeHeapBlock helpers so the port can track which memory regions are made available to child processes when saving RDB/AOF files. Those jemalloc changes are maintained in their own repository and copied into deps/jemalloc.
Is it stable enough to rely on?Both the win-4.0.14 and win-5.0 branches are labeled stable ports, but the author still asks users to test the releases and report any issues, so treat it as a community-maintained port you should validate against your own workload.
What are similar projects?redis, dragonfly, dicedb, phpredis, valkey, kividb, etcd, redisson
Size
321.8 MB
Stars
10.3K
Age
8y
Commits · 90 Days