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