Redis即遠程字典服務,是一個開源的使用ANSI C語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API
redis是一個key-value存(cun)儲(chu)系統。和Memcached類(lei)似,它(ta)支(zhi)持(chi)存(cun)儲(chu)的(de)(de)(de)(de)value類(lei)型(xing)(xing)相(xiang)對更多,包括string(字(zi)符串)、list(鏈(lian)表)、set(集(ji)合)、zset(sorted set --有序集(ji)合)和hash(哈希類(lei)型(xing)(xing))。這些數據(ju)類(lei)型(xing)(xing)都(dou)支(zhi)持(chi)push/pop、add/remove及(ji)取交(jiao)集(ji)并(bing)集(ji)和差集(ji)及(ji)更豐富的(de)(de)(de)(de)操(cao)作(zuo),而且這些操(cao)作(zuo)都(dou)是原子(zi)性(xing)的(de)(de)(de)(de)。在(zai)此(ci)基(ji)(ji)礎上,redis支(zhi)持(chi)各種(zhong)不(bu)同(tong)方式的(de)(de)(de)(de)排序。與memcached一樣,為了保證(zheng)效率,數據(ju)都(dou)是緩存(cun)在(zai)內存(cun)中。區(qu)別的(de)(de)(de)(de)是redis會(hui)周期性(xing)的(de)(de)(de)(de)把(ba)更新的(de)(de)(de)(de)數據(ju)寫(xie)入(ru)磁盤(pan)或者把(ba)修改操(cao)作(zuo)寫(xie)入(ru)追加的(de)(de)(de)(de)記錄文件(jian),并(bing)且在(zai)此(ci)基(ji)(ji)礎上實現了master-slave(主(zhu)從)同(tong)步。
Redis是一個(ge)高性能(neng)的(de)key-value數(shu)(shu)據(ju)庫(ku)。redis的(de)出現,很大程(cheng)度補(bu)償了(le)memcached這類key/value存儲的(de)不(bu)足(zu),在部(bu)分場合(he)可(ke)以對(dui)關系數(shu)(shu)據(ju)庫(ku)起(qi)到很好的(de)補(bu)充作用(yong)。它提(ti)供(gong)了(le)Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等(deng)客戶端,使用(yong)很方便。
Redis支持主(zhu)從同(tong)步。數(shu)據(ju)可以從主(zhu)服(fu)(fu)務(wu)(wu)器向任意數(shu)量的(de)(de)從服(fu)(fu)務(wu)(wu)器上同(tong)步,從服(fu)(fu)務(wu)(wu)器可以是關聯(lian)其他從服(fu)(fu)務(wu)(wu)器的(de)(de)主(zhu)服(fu)(fu)務(wu)(wu)器。這使(shi)得(de)Redis可執(zhi)行(xing)單(dan)層樹復制。存盤可以有意無(wu)意的(de)(de)對數(shu)據(ju)進行(xing)寫操作。由于完全實現了(le)發布/訂(ding)閱機(ji)制,使(shi)得(de)從數(shu)據(ju)庫在任何地方(fang)同(tong)步樹時,可訂(ding)閱一個頻道并(bing)接收主(zhu)服(fu)(fu)務(wu)(wu)器完整的(de)(de)消息發布記錄(lu)。同(tong)步對讀取(qu)操作的(de)(de)可擴展(zhan)性(xing)和數(shu)據(ju)冗余很有幫助。
redis的(de)官網地址(zhi),非常好記,是redis.io。(域(yu)名(ming)后綴io屬(shu)(shu)于國家域(yu)名(ming),是british Indian Ocean territory,即英屬(shu)(shu)印度洋領地),Vmware在資助著redis項目的(de)開發和維護。
從2010年3月15日(ri)起(qi),Redis的開(kai)發(fa)工作由(you)VMware主(zhu)持。從2013年5月開(kai)始,Redis的開(kai)發(fa)由(you)Pivotal贊助。