真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

redis架構(gòu)詳解

一、redis特性
1.redis 是什么?
redis是基于內(nèi)存的可持久化的key-value數(shù)據(jù)庫
2.redis數(shù)據(jù)結(jié)構(gòu)類型?
value支持五種數(shù)據(jù)類型,字符串、字符串列表、字符串集合、有序集合、hashs
3.redis持久存儲方式
redis兩種持久化方式,RDB,和AOF
RDB: 將某一時刻的數(shù)據(jù)持久化到磁盤上,是一種快照式的持久方式, redis在進行持久化的過程中,會先將數(shù)據(jù)寫入臨時文件中,待持久化過程結(jié)束,會用這個臨時文件,替換上次持久化的文件,正是這種特性,讓我們可以隨時來進行備份,因為快照文件總是完整可用的。
原理:rdb方式持久化時,redis會fork出一個子進程進行持久化,主進程不會進行任何io操作,確保redis性能不會因持久化而降低,如果對數(shù)據(jù)不敏感且需要大規(guī)?;謴蛿?shù)據(jù),可以使用這種方式

成都創(chuàng)新互聯(lián)擁有網(wǎng)站維護技術(shù)和項目管理團隊,建立的售前、實施和售后服務體系,為客戶提供定制化的網(wǎng)站設計制作、做網(wǎng)站、網(wǎng)站維護、成都多線服務器托管解決方案。為客戶網(wǎng)站安全和日常運維提供整體管家式外包優(yōu)質(zhì)服務。我們的網(wǎng)站維護服務覆蓋集團企業(yè)、上市公司、外企網(wǎng)站、商城系統(tǒng)網(wǎng)站開發(fā)、政府網(wǎng)站等各類型客戶群體,為全球上1000+企業(yè)提供全方位網(wǎng)站維護、服務器維護解決方案。

AOF: 將執(zhí)行過的寫指令記錄下來,在數(shù)據(jù)恢復時,將指令按照順序在執(zhí)行一邊.
我們通過配置redis.conf中的appendonly yes就可以打開AOF功能.如果有寫操作,就會追加到aof文件末尾,默認aof持久化策略是每秒鐘fsync一次將數(shù)據(jù)從緩存區(qū)域刷到磁盤上,因為在這種情況下,redis仍然可以保持很好的處理性能,即使redis故障,也只會丟失最近1秒鐘的數(shù)據(jù).
問題1: aof文件壞了怎么辦?
備份被寫壞的AOF文件
運行redis-check-aof –fix進行修復
用diff -u來看下兩個文件的差異,確認問題點
重啟redis,加載修復后的AOF文件
問題: aof追加方式文件會越來越大怎么處理?
redis提供了rewrite重寫機制,當aof文件大小超過設置閥值,就會啟動aof文件壓縮,保留恢復數(shù)據(jù)的最小指令集,在重寫時也是先寫入臨時文件
rewrite原理:在從寫開始時,任redis會fork出一個子進程,這個子進程會首先讀取現(xiàn)有的AOF文件,并將其包含的指令進行分析壓縮并寫入到一個臨時文件中.
與此同時,主工作進程會將新接收到的寫指令一邊累積到內(nèi)存緩沖區(qū)中,一邊繼續(xù)寫入到原有的AOF文件中,這樣做是保證原有的AOF文件的可用性,避免在重寫過程中出現(xiàn)意外,當“重寫子進程”完成重寫工作后,它會給父進程發(fā)一個信號,父進程收到信號后就會將內(nèi)存中緩存的寫指令追加到新AOF文件中,當追加結(jié)束后,redis就會用新AOF文件來代替舊AOF文件,之后再有新的寫指令,就都會追加到新的AOF文件中了

4.redis主從

主從優(yōu)點: 冗余備份,提升性能,讀寫分離,主從架構(gòu)異步進行,不會降低處理性能

主從原理:
從服務器向主服務器發(fā)送sync指令,當主服務器接到指令后,就會調(diào)用bgsave指令創(chuàng)建子進程專門用來進行持久化工作,也就是將主服務器上的數(shù)據(jù)寫入rdb。在數(shù)據(jù)持久化期間,主服務器將執(zhí)行的寫指令都緩存在內(nèi)存中。
在bgsave指令完成后,主服務器會講rdb文件發(fā)送給從服務器,從服務器將文件保存到磁盤上,然后讀到內(nèi)存中。這個動作完成后,主服務器會將這段時間緩存得到寫指令在以redis協(xié)議發(fā)送給從服務器.
注: 即使有多個從服務器發(fā)送sync指令,主服務器也只會執(zhí)行一次bgsave

5.redis事物

redis四個指令構(gòu)成redis事物處理的基礎
1.MULTI用來組裝一個事務;
2.EXEC用來執(zhí)行一個事務;
3.DISCARD用來取消一個事務;
4.WATCH用來監(jiān)視一些key,一旦這些key在事務執(zhí)行之前被改變,則取消事務的執(zhí)行

二、redis架構(gòu)
單機:
redis架構(gòu)詳解

容量有限,處理能力有限,部署簡單,適合開發(fā),或者不重要的數(shù)據(jù).

主從復制:
redis架構(gòu)詳解
1、master/slave 角色
2、master/slave 數(shù)據(jù)相同
3、降低 master 讀壓力在轉(zhuǎn)交給從庫
問題:1、無法保證高可用;2、沒有解決 master 寫的壓力

哨兵:
redis架構(gòu)詳解
Redis sentinel 是一個分布式系統(tǒng)中監(jiān)控 redis 主從服務器,并在主服務器下線時自動進行故障轉(zhuǎn)移。其中三個特性
監(jiān)控(Monitoring): Sentinel 會不斷地檢查你的主服務器和從服務器是否運作正常
提醒(Notification): 當被監(jiān)控的某個 Redis 服務器出現(xiàn)問題時, Sentinel 可以通過 API 向管理員或者其他應用程序發(fā)送通知
自動故障遷移(Automatic failover): 當一個主服務器不能正常工作時, Sentinel 會開始一次自動故障遷移操作
特點:
1、保證高可用
2、監(jiān)控各個節(jié)點
3、自動故障遷移
缺點:主從模式,切換需要時間丟數(shù)據(jù)
沒有解決 master 寫的壓力

集群(proxy)
redis架構(gòu)詳解
Twemproxy 是一個 Twitter 開源的一個 redis 和 memcache 快速/輕量級代理服務器; Twemproxy 是一個快速的單線程代理程序,支持 Memcached ASCII 協(xié)議和 redis 協(xié)議。
特點:1、多種 hash 算法:MD5、CRC16、CRC32、CRC32a、hsieh、murmur、Jenkins
2、支持失敗節(jié)點自動刪除
3、后端 Sharding 分片邏輯對業(yè)務透明,業(yè)務方的讀寫方式和操作單個 Redis 一致
缺點:增加了新的 proxy,需要維護其高可用。
failover 邏輯需要自己實現(xiàn),其本身不能支持故障的自動轉(zhuǎn)移可擴展性差,進行擴縮容都需要手動干預


分享標題:redis架構(gòu)詳解
本文路徑:http://weahome.cn/article/gdcdhi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部