中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

redis架構詳解

發布時間:2020-06-08 16:37:45 來源:網絡 閱讀:265 作者:小白的希望 欄目:系統運維

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

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

4.redis主從

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

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

5.redis事物

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

二、redis架構
單機:
redis架構詳解

容量有限,處理能力有限,部署簡單,適合開發,或者不重要的數據.

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

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

孙吴县| 玉树县| 扎囊县| 抚顺县| 池州市| 昔阳县| 高邑县| 乡城县| 长葛市| 邮箱| 永寿县| 遂平县| 灯塔市| 阳朔县| 溧阳市| 达日县| 绥滨县| 广水市| 荔波县| 浮山县| 勃利县| 海阳市| 邵阳县| 贡嘎县| 伊宁市| 元江| 右玉县| 城市| 蓝田县| 石屏县| 泸西县| 云浮市| 灵宝市| 化德县| 临西县| 武功县| 金乡县| 兖州市| 高淳县| 亚东县| 伊川县|