

Microsoft Open Technologies, a Microsoft subsidiary that launched earlier this month, has released its first project: a new version of the Windows port of Redis begun by Microsoft. However, it’s not yet production ready.
Previously Microsoft submitted a patch to provide Windows support in the main Redis project, based on an existing port of Redis to Windows by Dušan Majkić, but the patch was rejected by Redis maintainer Salvatore “antirez” Sanfilippo. Sanfilippo wrote at the time:
I don’t think Redis running under win32 is a very important feature. It is cool to have a win32 port that can be used for testing, as we had before, and as we have in a different implementation thanks to the Microsoft patch, so developers using Windows can easily test Redis and develop their projects. But what is the point in providing a production quality win32 port?
But as Microsoft pushes forward with Azure, the company is dedicating resources towards porting open source platforms – Apache Hadoop and Node.js in particular – to Windows. It seems that Microsoft has two strategies here:
In short, the strategy is to bring new people to Windows by abstracting away the operating system, and to keep existing developers around by providing the latest tools.
According to tk’s announcement:
The major improvements in this latest version involve the process of saving data on disk. Redis on Linux uses an OS feature called Fork/Copy On Write. This feature is not available on Windows, so we had to find a way to be able to mimic the same behavior without changing completely the save on disk process so as to avoid any future integration issues with the Redis code.
The version we released today implements the Copy On Write process at the application level: instead of relying on the OS we added code to Redis so that some data structures are duplicated in such a way that Redis can still serve requests from clients while saving data on disk (thus achieving the same effect of Fork/Copy On Write does automatically on Linux).
You can check out a comparison of Majkić’s Redis port with Microsoft’s AppFabric here.
THANK YOU