您好,登錄后才能下訂單哦!
redis (remote dictionary server)
redis特點(diǎn):
1)支持內(nèi)存緩存,相當(dāng)于memcached;
2)持久化,相當(dāng)于memcachedb,ttserver;
3)數(shù)據(jù)類型更豐富;
4)支持集群,分布式;
5)key-value鍵值類型存儲(chǔ)系統(tǒng);
6)支持?jǐn)?shù)據(jù)可靠存儲(chǔ)及落地;
7)單進(jìn)程單線程高性能服務(wù)器;(可實(shí)現(xiàn)多實(shí)例)
一個(gè)實(shí)例20-30G內(nèi)存;
8)crash safe & recovery slow;
9)單機(jī)qps 可以達(dá)到10w
10)適合小數(shù)據(jù)量高速讀寫(xiě)訪問(wèn);
11)支持異機(jī)主從復(fù)制;
12)支持publish/subscribe(發(fā)布/訂閱),通知,key過(guò)期等等特性;
redis支持存儲(chǔ)的value類型相對(duì)更多,包括string(字符串)、list(列表)、set(集合)、和zset(有序集合)和hash等; 與memcachedb一樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中,區(qū)別是redis會(huì)會(huì)周期性的把更新的數(shù)據(jù)寫(xiě)入磁盤(pán)或者把修改操作寫(xiě)入追加的記錄文件,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步;
這些數(shù)據(jù)類型支持push/pop、add/remove及取交集、并集和差集及更豐富的操作,而且這些操作都是原子性的,不會(huì)出現(xiàn)鎖的情況;
缺點(diǎn):
1)代碼從讀取memcached更改為讀取redis;
2)不同命令延遲差別極大;
3)內(nèi)存管理開(kāi)銷大(低于物理內(nèi)存的3/5)
4)buffer io 造成系統(tǒng)oom(內(nèi)存溢出)
redis持久化
1)snapshot(快照)一次性將內(nèi)存中的數(shù)據(jù)寫(xiě)入到磁盤(pán),需要key的更新(輸入觸發(fā)類型);
2)aof(binlog日志方式),記錄每次更新的日志,不會(huì)導(dǎo)致數(shù)據(jù)的丟失;(不用于主從同步)僅僅用于保存數(shù)據(jù);
redis最佳應(yīng)用場(chǎng)景
1.redis全部數(shù)據(jù)在memory
2.最佳對(duì)memcached的替代品;
3.數(shù)據(jù)比較重要,對(duì)數(shù)據(jù)一致性有一定要求的業(yè)務(wù);
4.當(dāng)需要除key/value之外的更多數(shù)據(jù)類型支持時(shí),使用redis更合適;
5.需要提供主從同步以及負(fù)載均衡分布式應(yīng)用場(chǎng)景(redis主從同步);
redis的生產(chǎn)經(jīng)驗(yàn)教訓(xùn)
1.要進(jìn)行master-slave主從同步配置,在出現(xiàn)服務(wù)故障時(shí)可以切換;
2.在master禁用數(shù)據(jù)持久化,只需在slave上配置數(shù)據(jù)持久化;
3.物理內(nèi)存+虛擬內(nèi)存不足,這個(gè)時(shí)候dump一直死著,時(shí)間久了機(jī)器掛掉
4.當(dāng)redis物理內(nèi)存使用超過(guò)內(nèi)存總?cè)萘康?/5時(shí)就會(huì)開(kāi)始比較危險(xiǎn)了,就開(kāi)始做swap,內(nèi)存碎片大!
5.當(dāng)達(dá)到最大內(nèi)存時(shí),會(huì)清空帶有過(guò)期時(shí)間的key,即使key未到過(guò)期時(shí)間;
6.redis與db同步寫(xiě)的問(wèn)題,先寫(xiě)db,后寫(xiě)redis,因?yàn)閷?xiě)內(nèi)存基本上沒(méi)有問(wèn)題;
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。