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