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