valkey-io / valkey

A flexible distributed key-value datastore that supports both caching and beyond caching workloads.
https://valkey.io
Other
16.32k stars 607 forks source link

[NEW] Native windows support #92

Open kzhsw opened 6 months ago

kzhsw commented 6 months ago

The problem/use-case that the feature addresses

Make it run natively, without cygwin or wsl, on microsoft windows system.

Description of the feature

Currently it does not build or run on windows, make windows users harder to development and test their program using redis protocol. With native windows support, users can setup development environment more easily. There are some existing work on this, but not actively mantained now.

Alternatives you've considered

Additional information

Any additional information that is relevant to the feature request.

zuiderkwast commented 6 months ago

The code is written for Posix systems. Native Windows support would require a huge effort since many concepts are very different in that OS.

SamuelMarks commented 6 months ago

I was the original poster (OP) for this issue https://github.com/redis/redis/issues/9728

If there is interest let me / my ppl know

madolson commented 6 months ago

Yeah, let's leave this and see there is strong interest in support for windows. I think the need has dropped significantly because of WSL from when the issue was already opened.

PingXie commented 6 months ago

Windows doesn't support fork() natively. The child process doesn't inherit the parent process's address space. Some emulation was done in WSL V1 but I don't think the performance is good for any production workload. WSL V2 runs a real Linux OS in a "utility" VM, which shares the host's disk over virtual SMB (Samba). I doubt disk operations would be as performant in this case. I think one can get Redis working on Windows but will not get the same performance as you would expect from a similarly equipped machine running Linux. It is at best a dev scenario.

tachyons commented 6 months ago

Original reasoning http://oldblog.antirez.com/post/redis-win32-msft-patch.html

rhuddleston commented 6 months ago

I'm assuming Microsoft created Garnet for this reason: https://github.com/microsoft/garnet

I haven't use it personally but it looks interesting

brged commented 5 months ago

Yeah, let's leave this and see there is strong interest in support for windows. I think the need has dropped significantly because of WSL from when the issue was already opened.

At least, make it more friendly when compiling by msys2 and cygwin