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