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平臺,看起 來并沒有上述二者那么必要和有說服力。
Redis 是一個高性能的key-value數據庫。 redis的出現,很大程度補償了memcached這類keyvalue存儲的不足,在部 分場合可以對關系數據庫起到很好的補充作用。它提供了Python,Ruby,Erlang,PHP客戶端,使用很方便。
性能測試結果:
SET操作每秒鐘 110000 次,GET操作每秒鐘 81000 次,服務器配置如下:
Linux 2.6, Xeon X3320 2.5Ghz.
stackoverflow 網站使用 Redis 做為緩存服務器。
本文轉載自: http://blog.nosqlfan.com/html/3528.html