diff --git a/README.md b/README.md index 0490c28a68cc2e8534dfdcee41c853a24aca1f25..03bed8e2cd71c209379e1b3bc7aef0e49c73997b 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,35 @@ -Redis on Windows 2.8.9 +Redis on Windows === -## What's new in this release -- This is a port for Windows based on Redis 2.8. The latest version merged in 2.8.9. -- There is support for the x64 version. We have dropped support for the 32-bit version. +## Redis 2.8 Branch + +- This is a port for Windows based on Redis 2.8. The latest version merged in 2.8.12. +- There is support for the 64-bit version. We have dropped official support for the 32-bit version, though you can build it from source if desired. - The binaries (unsigned) have been moved to a zip file in the \bin folder to make them easier to find. The Release build automatically updates the zip file. - Signed binaries can be downloaded using Nuget and Chocolatey. - There is a replacement for the UNIX fork() API that simulates the copy-on-write behavior using a memory mapped file. - Because Redis makes some assumptions about the values of File Descriptors, we have built a virtual file descriptor mapping layer. - We are moving towards moving all Windows-specific changes into the Win32_Interop library. +- Redis can be installed as a Windows Service. + +## What's new since 2.8.9 + +- See the Redis release notes: http://download.redis.io/redis-stable/00-RELEASENOTES +- The Windows codebase has a few bug fixes and better error messages for our fork() API replacement. -## Repo branches -- 2.8.4_msopen: This is the branch for the Windows Redis port based on Redis 2.8 -- 2.6: This is the branch for the Windows Redis port based on Redis 2.6. -- 2.4: This branch has the Windows Redis port based on Redis 2.4. +## Important: More documentation is available + +Please read the documentation in msvs\setups\documentation. This is the documentation that is bundled with the binaries, and contains vital information +about configuring and deploying Redis on Windows. ## How to build Redis using Visual Studio You can use the free Visual Studio Express 2013 for Windows Desktop edition available at http://www.microsoft.com/en-us/download/details.aspx?id=40787. -- Open the solution file msvs\redisserver.sln in Visual Studio 2013, select a build configuration (Debug or Release) and build. +- Open the solution file msvs\redisserver.sln in Visual Studio 2013, select a build configuration (Debug or Release) and target (Win32 or x64) then build. - This should create the following executables in the msvs\x64\$(Configuration) folder: + This should create the following executables in the msvs\$(Target)\$(Configuration) folder: - redis-server.exe - redis-benchmark.exe @@ -30,21 +37,21 @@ You can use the free Visual Studio Express 2013 for Windows Desktop edition avai - redis-check-dump.exe - redis-check-aof.exe -## Release Notes - -This is a production-ready version of the software. +## Unit Testing To run the Redis test suite requires some manual work: -- The tests assume that the binaries are in the src folder. Use mklink to create a symbolic link to the files in the msvs\x64\Debug|Release folders. +- The tests assume that the binaries are in the src folder. Use mklink to create a symbolic link to the files in the msvs\x64\Debug|Release folders. You will + need symbolic links for src\redis-server, src\redis-benchmark, src\redis-check-aof, src\redis-check-dump, src\redis-cli, and src\redis-sentinel. - The tests make use of TCL. This must be installed separately. -- To run the tests you need to have a Unix shell on your machine. To execute the tests, run the following command: `tclsh8.5.exe tests/test_helper.tcl`. -- Because of the swap space requirements for the quasi-fork implementation, running too many instances of redis will exhaust swap space. Some of the unit - tests launch multiple instance of redis (i.e., 1 master + 3 slaves). By default the test suite launches 16 parallel tests. This will cause failures - because there is not enough swap sapce configured by default. Either limit the number of test instances with the '--clients 1' flag, or increase the - default system swap space significantly (increase by (4 x physical memory) for each additional test client). +- To run the tests you need to have a Unix shell on your machine, or MinGW tools in your path. To execute the tests, run the following command: + 'tclsh8.5.exe tests/test_helper.tcl --clients `. If a Unix shell is not installed you may see the following error message: "couldn't execute "cat": no + such file or directory". +- By default the test suite launches 16 parallel tests. I will get time out errors on an iCore 7-2620m@2.7Ghz with some of the tests when the number of clients + is greater than 6. -If a Unix shell is not installed you may see the following error message: "couldn't execute "cat": no such file or directory". + ## Known issues + None. diff --git a/tests/assets/default.conf b/tests/assets/default.conf index 902a094a57f0a532da4c69e1a196899cbd2c2057..2dbd89367487b84c2926b4b72b1faff754db08c9 100644 --- a/tests/assets/default.conf +++ b/tests/assets/default.conf @@ -23,3 +23,6 @@ appendonly no appendfsync everysec no-appendfsync-on-rewrite no activerehashing yes + +#Reducing the heap requirement on Windows allows for more instances of the unit tests to execute in parallel +maxheap 500m \ No newline at end of file