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)

Searching Database…

10.3K ·GitHub
这是什么?这是 Redis 在 Windows x64 上的非官方原生移植版。Redis 是一种内存键值数据库,可以把数据保存到磁盘上,而这个项目重新编译它,让它能作为一个真正的 Windows 程序运行。
它是真正的 Redis 服务器,还是某种包装?它是原生移植的真正 Redis 服务器。你可以使用熟悉的键值模型,包括 Strings、Lists、Sets、Sorted Sets、Hashes、Streams 和 HyperLogLogs,数据保存在内存中并持久化到磁盘。
在 Windows 上怎么安装?从发布页面下载预编译的版本即可——面向 Windows x64 的 Redis 5.0.14 或 4.0.14,以 MSI 安装包形式发布,可以直接运行。
这是微软或 Redis 官方团队的移植版吗?不是——它是非官方的。它延续了 MS Open Tech 已归档的 win-3.2.100 移植版:源代码由人工合并,工程更新到 Visual Studio 2019,并修复了发现的问题(主要通过单元测试验证)。
有没有 32 位版本,还是只有 x64?稳定分支都是 Windows x64 移植版——已发布的 Redis 4.0.14 和 5.0.14 版本都是针对 x64 构建的。
作者是怎么让 Redis 这个 C 语言项目在 Windows 上原生运行的?除了把代码更新为 Visual Studio 2019 工程之外,这个移植版还带有一个定制过的 jemalloc 分配器:Windows 的 VirtualAlloc/VirtualFree 调用被替换为 AllocHeapBlock/PurgePages 和 FreeHeapBlock 辅助函数,这样移植版就能在保存 RDB/AOF 文件时追踪哪些内存区域会提供给子进程。这些 jemalloc 改动在单独的仓库中维护,并复制到 deps/jemalloc 目录里。
它稳定到可以放心依赖吗?win-4.0.14 和 win-5.0 两个分支都标注为稳定移植版,但作者仍请用户实际测试发布版本并反馈问题,所以最好把它当作社区维护的移植版,在自己的实际负载上验证后再使用。
What are similar projects?redis, dragonfly, dicedb, phpredis, valkey, etcd, redisson, garnet
Size
321.8 MB
Stars
10.3K
Age
8y
Commits · 90 Days