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