redis-windows is a free, open source databases project written in C# and released under Apache-2.0. It has 4,291 GitHub stars, 330 forks and 31 open issues, and was last pushed 10 hours ago. On this registry it ranks #162 of 203 tracked projects in Databases, with 5 head-to-head comparisons available.

What is redis-windows?

Redis for Windows is a Windows-native Redis server compiled from the official Redis source, built for developers who need to run Redis on Windows machines without a Linux virtual machine or container.

What it is

Redis for Windows packages Redis server binaries that have been compiled from the upstream Redis source tree for the Windows platform, covering six release lines: 6.0.20, 6.2.18, 7.0.15, 7.2.8, 7.4.3 and 8.0.0. The project ships a service wrapper written in C# on .NET 10.0, alongside server binaries produced with an MSYS2 / Cygwin toolchain, and it is distributed under the Apache-2.0 licence. It lives in the Redis ecosystem and is published from a repository tracked under topics such as redis-for-windows, redis-server, redis-windows, redis6, redis7 and redis8.

The concrete problem it solves is the absence of official Windows builds. Redis Ltd. does not ship a Windows server, so Windows developers have historically been left with stale ports or manual build instructions. This project supplies maintained binaries for current Redis versions and, critically, a wrapper that removes the operational friction of the port itself: RedisService.exe converts Windows paths to the Cygwin paths the server expects and can register Redis as a native Windows service. What it replaces is the manual redis-server.exe invocation against Cygwin-format paths, where a single C:\... argument silently fails.

Key capabilities

  • RedisService.exe exposes the commands install, uninstall and run, with options -c/--config, --port, --dir, --loglevel, -f/--foreground, --service-name and --start-mode.
  • Automatic conversion between Windows and Cygwin path formats, so RedisService.exe run --foreground --port 6379 --dir C:\redis-data works with native Windows paths.
  • Direct redis-server.exe mode for users who prefer it, requiring Cygwin paths such as /cygdrive/c/config/redis.conf and --dir /cygdrive/d/data.
  • Config files accept forward slashes, for example dir C:/redis/data and logfile C:/redis/logs/redis.log.
  • Cross-partition layouts are supported, so program, config and data can sit on different drives, such as -c D:\config\redis.conf --dir E:\data\redis.
  • Data persistence through the --dir option, with data saved automatically on graceful shutdown via redis-cli SHUTDOWN or Ctrl+C.
  • Windows service registration with configurable startup type through --start-mode auto, started with net start Redis.

Who uses it and how

  • Windows developers who need a local Redis instance for application development but do not want to run a Linux virtual machine.
  • Teams that want Redis available as an auto-starting Windows service for shared developer workstations or test machines.
  • Build and test environments on Windows where spinning up a Linux container for Redis is unwanted overhead.
  • Users who keep data on a separate volume from the program, relying on the cross-partition -c and --dir handling.

Getting started

Download and extract a release, then run redis-server.exe redis.conf, or preferably RedisService.exe run --foreground. To install it as a service, use RedisService.exe install -c C:\config\redis.conf --dir D:\data\redis --port 6379, followed by net start Redis.

How it compares

The facts name only the official Redis project as a comparable tool, and this build is compiled from that same official source while remaining unaffiliated with Redis Ltd. The difference is targeted platform: official Redis guidance directs production deployment to Linux, whereas this project exists to make Redis usable for local Windows development.

When to use it — and when not to

This is a reasonable choice for local Windows development and testing, where the self-hoster only has to run the executable or register one Windows service, and no separate database, object storage or SMTP dependency has to be operated. It should not be chosen for production workloads: the README states plainly that it is recommended for local development only and that production deployments should follow official Redis guidance on Linux, and the project carries an explicit disclaimer that it is not responsible for losses caused by its use. Note also that the direct redis-server.exe path is unforgiving, since Windows-style paths are not supported there and must be written in Cygwin form.

project readme (upstream, from github) — read inline

Redis for Windows

Build Release

Compiled from official Redis source for Windows.

Quick Start

# After download and extract
redis-server.exe redis.conf

# Or use RedisService (recommended)
RedisService.exe run --foreground

Usage

Option 1: RedisService.exe (Recommended)

Automatically handles path conversion. Use native Windows paths.

# Run in foreground
RedisService.exe run --foreground --port 6379 --dir C:\redis-data

# Install as Windows service
RedisService.exe install -c C:\config\redis.conf --dir D:\data\redis --port 6379
net start Redis

# Uninstall service
RedisService.exe uninstall

Option 2: redis-server.exe (Direct)

Important: This build uses Cygwin runtime. Command-line paths must use Cygwin format.

# ✅ Correct - Cygwin path format
redis-server.exe /cygdrive/c/config/redis.conf --dir /cygdrive/d/data --port 6379

# ❌ Wrong - Windows paths not supported
redis-server.exe C:\config\redis.conf --dir D:\data

Path Conversion:

Windows Cygwin
C:\path /cygdrive/c/path
D:\path /cygdrive/d/path
.\data ./data (relative works as-is)

In config file: Use forward slashes (Windows style with /).

# Recommended in redis.conf
dir C:/redis/data
logfile C:/redis/logs/redis.log

RedisService CLI Reference

RedisService.exe [command] [options]

Commands:
  install       Install as Windows service
  uninstall     Uninstall Windows service
  run           Run Redis (default)

Options:
  -c, --config <FILE>      Config file path
  --port <PORT>            Server port
  --dir <DIRECTORY>        Data directory
  --loglevel <LEVEL>       Log level (debug/verbose/notice/warning)
  -f, --foreground         Run in foreground
  --service-name <NAME>    Service name (default: Redis)
  --start-mode <MODE>      Startup type (auto/manual)
  -h, --help               Show help
  -v, --version            Show version

Cross-Partition/Directories

Config, data, and program can be in any location:

# Program: C:\redis\RedisService.exe
# Config:  D:\config\redis.conf
# Data:    E:\data\redis

RedisService.exe run -c D:\config\redis.conf --dir E:\data\redis --foreground

Data Persistence

Data is saved automatically on shutdown. RedisService.exe correctly passes --dir to ensure data is saved to the specified directory.

# Start
RedisService.exe run --foreground --dir C:\redis-data

# Write data
redis-cli SET mykey myvalue

# Graceful shutdown
redis-cli SHUTDOWN

# Restart - data persists
redis-cli GET mykey   # Returns "myvalue"

FAQ

redis-server.exe can't find config file?

Use Cygwin path format:

redis-server.exe /cygdrive/c/config/redis.conf

Or use RedisService.exe which handles path conversion automatically.

Data lost after restart?

  1. Always specify --dir option
  2. Use graceful shutdown (redis-cli SHUTDOWN or Ctrl+C), don't kill the process
  3. Use the same --dir when restarting

Technical Details

  • Build toolchain: MSYS2 / Cygwin
  • Service wrapper: .NET 10.0
  • Path handling: RedisService auto-converts Windows ↔ Cygwin paths

English | 简体中文

Disclaimer

This project is not affiliated with, endorsed by, or sponsored by Redis Ltd. The license provided here applies only to this repository, not to the official Redis project.

This is recommended for local development only. For production environments, please follow Redis official guidance and deploy on Linux. This project is not responsible for any losses caused by its use.

Frequently asked questions

Is redis-windows free to use?

redis-windows is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does redis-windows do?

Redis 6.0.20 6.2.18 7.0.15 7.2.8 7.4.3 8.0.0 for Windows

What is redis-windows written in?

redis-windows is primarily written in C#. Its source is publicly available at https://github.com/redis-windows/redis-windows, and it has 4,291 GitHub stars.