中关村村草 发表于 2012-02-16 19:47

Redis作者拒绝微软的Windows补丁

Redis作者拒绝微软的Windows补丁










在Redis越来越火的今天,微软老大哥貌似也坐不住了,为了让Redis能原生的运行在Windows上,微软在几周前成立了一个小组,通过几周的工作,通过采用LibUV将Redis成功移植到Win系统下。(LibUV是node.js 中使用的网络IO模块封装,其通过在Win下使用IOCP机制,在Unix下使用libev包实现平台兼容)

于是在Redis的github项目上,微软向Redis项目提交了他们的补丁。

很有意思的,Redis的作者立刻拒绝了将这一补丁加入主干代码中。但称这个补丁还是很有用,能够让在Win下使用Redis进行开发的同学在调试方面更方便,以前可能需要在虚拟机下去启一个Redis。

随后Redis作者又专门发表了博文将自己对此事的看法进行了叙述。

首先他肯定这不是一件坏事,但是将其放到Redis主干中是不可能的,因为在作者看来,Redis目前有很多重要并且复杂的工作要做,而对到Win平台的支持显然不在这些事情中。并且按作者的看法,Linux在作为软件部署平台这事上,已经早就将Win平台撂倒了,对Win的支持是不重要也不紧急的事。

作者还举例说,即使是目前一些比较大的使用Win架构的应用,比如Stack Overflow,也是Win与Linux混用的,所以,Redis不原生支持Win平台,根本不会影响到用户的使用。

实事上,引入LibUV与Redis的设计理念是相背的。Redis设计理念中一个很大的亮点是零包含,尽量不使用外部库,这也是Redis使用自己简单高效的ae.c网络驱动封闭,而不是使用通用的libevent或者其高性能版本libev的原因。

在目前的Redis中,只引入了两个外部扩展,一是更高效的jemalloc(以及支持google的tcmalloc)来替换原来的libc内存分配器,二是引入了lua库的支持。而这两者分别是在内存分配性能上和功能上都对Redis有非常大的改进。而通过引入LibUV来支持Win平台,看起来并没有上述二者那么必要和有说服力

冰释一片天 发表于 2012-02-17 22:27

谢谢分享
页: [1]
查看完整版本: Redis作者拒绝微软的Windows补丁