Open-source project
zkteco-home/redis-windows avatar
zkteco-home/redis-windows

zkteco-home/redis-windows: A Native Redis Port for Windows, Installed as a Service

Native port of Redis for Windows,it can be installed as service,It is by far the fastest and most stable Windows version.

2,391 stars219 forksBatchfileMIT

At a glance

What is it?
An unofficial build of Redis 8.10.2 for Windows x64 that compiles the original source with Visual Studio 2026 and can register itself as a Windows Service. It is a reasonable fit for Windows-only hosts that need a local Redis; it is not a drop-in answer for every deployment.
Who is it for?
Adopt zkteco-home/redis-windows when your only option is a Windows host and you want a local Redis that registers as a service, with the caveats that AOF and RDB formats changed in this line and the README itself flags unknown Windows-specific bugs. Do not adopt it if you need a vendor support contract, or if you can run Redis on Linux or in a container instead.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 12 days ago.
What is it written in?
Mainly Batchfile, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 2, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What zkteco-home/redis-windows Actually Is

Redis does not ship an official Windows build. zkteco-home/redis-windows fills that gap with an unofficial x64 port whose binaries, per the README, are compiled from the original Redis source with Visual Studio 2026. The stated goal is higher performance and better stability than binaries produced through Cygwin, MSYS or WSL2. The current release line is 8.10.2, published on 2026-09-20, and the repository was last pushed on the same date.

The intended audience is narrow and practical: developers and administrators who run Windows Server 2008 through 2022, or Windows 7, 10 and 11 on x64, and who need a Redis process on that machine rather than on a Linux host. The project is licensed MIT, and the README carries its own disclaimer that Windows and Linux differ enough that unknown issues and bugs remain. That sentence is the most important one on the page, and it should shape how you read everything else.

Service Management Is the Real Feature

The distinguishing mechanism here is not Redis itself but the Windows Service wrapper around it. The README describes three behaviours: the executable self-elevates so service commands work from a non-elevated prompt, services can be named so several Redis instances coexist on one machine, and folder permissions are adjusted automatically so that Redis running under the NETWORK SERVICE account can modify files in its installation directory.

That third point matters more than it looks. A service account that cannot write to the install directory will fail on RDB dumps and AOF rewrites, and the failure usually appears later, under load, rather than at install time. Handling it during installation removes a class of silent breakage.

Service control is exposed through flags on redis-server.exe rather than a separate tool. The README states that --service-install must be the first argument on the command line, that the service is configured as Autostart and runs as NT AUTHORITY\NetworkService, and that installation does not start the service. The naming flag, --service-name, follows the service command and precedes arguments passed to Redis. The README's own example shows three separate instances installed and started this way.

Installing It and Running a First Command

The README recommends running install_redis.cmd as Administrator. That script is a top-level entry in the repository alongside redis-server.exe, redis-cli.exe and redis.conf, so the intended path is: download the release, then run the script elevated.

If you prefer the manual route, the README gives the service flags directly. This installs a service named redisService1 using redis.conf, with verbose logging passed through to Redis:

bash
redis-server --service-install --service-name redisService1 redis.conf --loglevel verbose

You should see a success message, after which the process exits. Installation does not start anything. Start it with:

bash
redis-server --service-start --service-name redisService1

Once the service is up, connect with the bundled client. The repository ships redis-cli.exe next to the server binary:

bash
redis-cli.exe

The README does not document the default port, so check redis.conf rather than assuming. To remove the service later, the reverse commands are documented as --service-stop and --service-uninstall, both accepting --service-name. The README notes that uninstalling removes configuration from the registry but does not stop the running service, so stop before you uninstall.

Defaults You Will Probably Want to Change

The README lists the shipped defaults plainly:

text
save ""
maxmemory 512mb
appendonly no
maxmemory-policy allkeys-lru

Read that set as a cache profile, not a database profile. Persistence is off on both axes: RDB snapshots are disabled by the empty save directive, and AOF is off. The 512 MB memory ceiling with allkeys-lru means that once the limit is reached, Redis starts evicting keys to make room, choosing the least recently used across the whole keyspace. For a session store or a cache, that is coherent. For anything you expect to survive a restart, it is not, and nothing in the default file will warn you.

The README recommends editing redis.conf for parameter changes rather than passing flags at the command line, which makes sense given the service model: the config file is what the service reads on each start. If you enable AOF, note the format change described below before you point an existing dataset at it.

Optional module support is documented for RedisJSON. The README instructs you to add enable-module-command yes and loadmodule rejson.dll to redis.conf, and points at a separate zkteco-home/RedisJson repository for the DLL. That is the only extension path the README describes.

Format Changes and the Upgrade Trap

This is where the project asks the most of you. The README states three breaking changes in this line. AOF is now stored as multiple files in a folder, and an old-style appendonly.aof is migrated automatically into an appendonlydir directory. RDB files use a new version 10 format that the README calls incompatible with older versions. And ziplist-encoded keys are converted to listpacks on the fly when an older RDB is loaded, whether from disk or from a replicating master, which the README says slightly increases loading time.

The practical consequence is that upgrading is a one-way door for your data files unless you keep a copy of the pre-upgrade dump. The README says to review the release notes carefully before upgrading, and the repository does carry a RELEASENOTES file, but the README itself does not document a rollback procedure. If you need to move data back to an older Redis, plan for that before you start, not after.

The second limitation is stated by the project itself: the disclaimer says that because of functional differences between Windows and Linux there are still unknown issues and bugs, and that a bug exists that affects operation in certain scenarios. The README does not enumerate those scenarios. Treat that as an unresolved risk rather than a formality, and test the specific command patterns your application uses.

Alternatives and Where This One Fits

The most direct alternative is WSL2. Running Redis inside a Linux distribution on Windows gives you the upstream code path, the official documentation, and the standard Linux packaging, at the cost of a virtualised layer and a second environment to operate. The README explicitly positions this project against that option, claiming the Visual Studio 2026 build is faster and more stable than binaries built by Cygwin, MSYS or WSL2. That is the project's own framing, and the README offers no measurements to support it.

Docker Desktop on Windows is the other common route. It gives you the official Redis image and a reproducible configuration, but it requires container infrastructure on the host and adds a networking hop. If your constraint is a plain Windows Server with no virtualisation budget and no container runtime, neither WSL2 nor Docker is available to you, and a native service install is the remaining option. That is the case this project is built for.

The difference in approach is worth stating precisely. WSL2 and Docker both run Redis as it runs on Linux, with the Windows host as a wrapper. zkteco-home/redis-windows compiles the Redis source for Windows and adapts it to Windows service semantics. You get native process management and no extra runtime; you take on an unofficial build with the compatibility caveats the README lists. Sentinel is supported in the same service model: the README shows installing it with --service-install --service-name Sentinel sentinel.conf --sentinel, after opening the required firewall port and preparing the config file.

Maintenance, Licensing and What to Verify

The repository is not archived and the last push was on 2026-09-20, with releases at roughly monthly intervals across 8.8.0, 8.10.1 and 8.10.2. That release cadence is the maintenance signal you have. There is no homepage, so the repository is the only distribution point.

The licence is MIT, which permits commercial use and modification, and the repository includes a LICENSE file. MIT also means there is no warranty, and the README reinforces this with a damages disclaimer that you accept by downloading and installing. Nothing here is legal advice; if the disclaimer matters to your organisation, have someone read the actual files rather than this summary.

Upgrade cost is dominated by the data format changes rather than the binaries. Swapping redis-server.exe is trivial. Bringing an existing dataset across is the work: the RDB version 10 format is incompatible with older versions, and AOF moves into appendonlydir. The README does not describe a downgrade path. Before you commit, verify that your current dump loads, that your AOF migrates, and that the commands your application issues behave correctly on Windows, since the README acknowledges unknown Windows-specific bugs without listing them.

Editorial conclusion

Adopt zkteco-home/redis-windows when your only option is a Windows host and you want a local Redis that registers as a service, with the caveats that AOF and RDB formats changed in this line and the README itself flags unknown Windows-specific bugs. Do not adopt it if you need a vendor support contract, or if you can run Redis on Linux or in a container instead. Before rolling it out, verify two things in your own environment: that your existing dump.rdb loads under the version 10 RDB format, and that your appendonly.aof is migrated cleanly into appendonlydir, because the README states both changes can break backwards compatibility.

Frequently asked questions

Can I use Redis on Windows with zkteco-home/redis-windows?

Yes. The project is an unofficial x64 port of Redis for Windows, built from the original Redis source with Visual Studio 2026, and the README lists support for Windows Server 2008 through 2022 and Windows 7, 10 and 11 on x64. It can be installed as a Windows Service, and the README recommends running install_redis.cmd as Administrator.

How do I install redis-windows as a Windows Service?

Run install_redis.cmd as Administrator, or use redis-server --service-install with the config file, adding --service-name if you want a named instance. The README states the service is configured as Autostart and runs as NT AUTHORITY\NetworkService, and that installation does not start the service, so a separate --service-start is required.

Is zkteco-home/redis-windows free to use?

The repository is licensed MIT, which permits commercial use and modification, and it includes a LICENSE file. The README also carries a no-liability-for-damages disclaimer that it says you accept by downloading and installing.

How do I run redis-windows?

Install it as a service with install_redis.cmd run as Administrator, or with redis-server --service-install, then start it with redis-server --service-start. The README notes that installing the service does not start it, so the start command is a separate step.

How do I use redis-windows on Windows 11?

The README lists Windows 7, 10 and 11 on x64 among the supported versions, so the same install path applies: run install_redis.cmd as Administrator or use the --service-install flag, then connect with the bundled redis-cli.exe. The README does not describe a separate Windows 11 procedure.

What is redis-windows?

It is an unofficial native port of Redis for Windows x64, compiled from the original Redis source with Visual Studio 2026, currently at release 8.10.2. The README describes it as installable as a Windows Service, with support for multiple named instances on one machine.

Official sources

  1. Issues
  2. License: MIT
  3. README
  4. Releases
  5. zkteco-home/redis-windows on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/zkteco-home-redis-windows.svg)](https://hysenlabs.com/projects/zkteco-home-redis-windows)