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平台,看起来并没有上述二者那么必要和有说服力。

anyShare赠人玫瑰,手有余香,分享知识,德艺双馨!
          

无觅相关文章插件,快速提升流量

分类 Redis · tag , , ,

  1. 因为在作者看来,Redis目前有很多重要并且复杂的工作要做,而对到Win平台的支持显然不在这些事情中。 霸气啊霸气 哈哈哈

    • unix已经艳丽夺目的时候,windows只是一个小别三,后来windows凭借其易用性和相对的开放性争取到了绝大部份中小应用和个人用户后来居上,几乎要一家独霸,虽然从性能等各方面根本无法与unix相比,但支持的软硬件和用户众多。unix,linux在这种恶劣的环境中能生生

      • 存到今天,完全靠的是高端应用的品质和技术,怕windows?要怕早怕了,不怕的地方,都是windows学不会,搬不走的东西。