![Redis應(yīng)用與運(yùn)維實(shí)踐分析_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/feaf2530-e675-40a7-959c-a4427419ae56/feaf2530-e675-40a7-959c-a4427419ae561.gif)
![Redis應(yīng)用與運(yùn)維實(shí)踐分析_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/feaf2530-e675-40a7-959c-a4427419ae56/feaf2530-e675-40a7-959c-a4427419ae562.gif)
![Redis應(yīng)用與運(yùn)維實(shí)踐分析_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/feaf2530-e675-40a7-959c-a4427419ae56/feaf2530-e675-40a7-959c-a4427419ae563.gif)
![Redis應(yīng)用與運(yùn)維實(shí)踐分析_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/feaf2530-e675-40a7-959c-a4427419ae56/feaf2530-e675-40a7-959c-a4427419ae564.gif)
![Redis應(yīng)用與運(yùn)維實(shí)踐分析_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/feaf2530-e675-40a7-959c-a4427419ae56/feaf2530-e675-40a7-959c-a4427419ae565.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Redis應(yīng)用與運(yùn)維實(shí)踐目錄 Redis概述 Redis應(yīng)用注意事項(xiàng) Redis運(yùn)維踩過的坑 Redis cluster介紹Redis概述 高性能的KEY-VALUE內(nèi)存存儲(chǔ) 支持主從同步 豐富的APIRedis概述 數(shù)據(jù)模型 字符串(String) 字符串列表(List) 無序不重復(fù)的字符串集合(SET) 有序不重復(fù)的字符串集合(ZSET) 鍵、值的字符串的哈希表(HASH)Redis概述 數(shù)據(jù)存儲(chǔ) 內(nèi)存 ADB AOFRedis應(yīng)用注意事項(xiàng) Redis list的使用 PUSH、POP操作保證在同一個(gè)節(jié)點(diǎn)上 隊(duì)列長度添加監(jiān)控 隊(duì)列與別的Redis業(yè)務(wù)分開使用Redis應(yīng)用注意事項(xiàng) 過期KE
2、Y的使用 對(duì)于包含過期時(shí)間的KEY操作,保持在同一個(gè)節(jié)點(diǎn)上 對(duì)于過期KEY的redis,可以設(shè)置最大內(nèi)存限制 配置LRU策略Redis應(yīng)用注意事項(xiàng) HASH的使用 避免使用HGETALL、HKEYS、HVALSRedis應(yīng)用注意事項(xiàng) SERVER端操作注意事項(xiàng) 禁用KEYS * 、SAVE、. 默認(rèn)使用數(shù)據(jù)庫0、不要使用SELECT 選擇多個(gè)數(shù)據(jù)庫Redis運(yùn)維踩過的坑 一主多從(級(jí)聯(lián)情況)Redis運(yùn)維踩過的坑 一主多從(級(jí)聯(lián)情況)Redis運(yùn)維踩過的坑 一主多從(級(jí)聯(lián)情況)Redis運(yùn)維踩過的坑 一主多從(級(jí)聯(lián)情況)Redis運(yùn)維踩過的坑 Redis備份的問題 RDB備份 AOF備份 單機(jī)
3、多實(shí)例的RDB問題Redis運(yùn)維踩過的坑 Redis 主從搭建問題 避免高峰期搭建,可能導(dǎo)致失敗 Redis做RDB的時(shí)候,Redis可能出現(xiàn)夯死的情況 Buffer區(qū)寫爆了 解決措施: 盡量在壓力小的實(shí)例搭建從庫 調(diào)整client-output-buffer-limit slaveRedis運(yùn)維踩過的坑 Redis 連接超時(shí)問題 解決方案 慢查詢監(jiān)控 業(yè)務(wù)優(yōu)化Redis運(yùn)維踩過的坑 MONITOR導(dǎo)致內(nèi)存飆升 解決方案: 通過client-output-buffer-limit限制 有能力的可以修改monitor實(shí)現(xiàn)機(jī)制(臣妾暫時(shí)無法做到)Redis Cluster介紹 Redis 原生Cl
4、uster 特性 高可用性與可線性擴(kuò)展 數(shù)據(jù)自動(dòng)路由到多個(gè)節(jié)點(diǎn) 節(jié)點(diǎn)間數(shù)據(jù)共享 可動(dòng)態(tài)添加或者刪除節(jié)點(diǎn) 數(shù)據(jù)通過異步復(fù)制,不保證數(shù)據(jù)的強(qiáng)一致性 可動(dòng)態(tài)調(diào)整數(shù)據(jù)分布Redis Cluster 介紹Redis Cluster 介紹 Redis集群數(shù)據(jù)分布 Redis 集群沒有使用一致性hash,引入了哈希槽(HASH SLOT). Redis 集群中所有的主節(jié)點(diǎn)都負(fù)責(zé) 16384 個(gè)哈希槽中的一部分。當(dāng)集群處于穩(wěn)定狀態(tài)時(shí),集群中沒有在執(zhí)行重配置(reconfiguration)操作,每個(gè)哈希槽都只由一個(gè)節(jié)點(diǎn)進(jìn)行處理(不過主節(jié)點(diǎn)可以有一個(gè)或多個(gè)從節(jié)點(diǎn),可以在網(wǎng)絡(luò)斷線或節(jié)點(diǎn)失效時(shí)替換掉主節(jié)點(diǎn)) slo
5、t = CRC16(KEY) / 16384Redis Cluster介紹Redis 集群鍵HASH標(biāo)簽?zāi)繕?biāo):HASH標(biāo)簽是確保兩個(gè)KEY 都能在同一個(gè)HASH槽的一種方式實(shí)現(xiàn)方式:HASH 槽是用另一種不同的計(jì)算方式計(jì)算的?;緛碚f,如果KEY包含一個(gè).這樣的模式,只有“” 和 “” 之間的字符串會(huì)被用來做HASH以獲取HAS槽。如果同時(shí)出現(xiàn)多個(gè)“” 計(jì)算方式如下:* 如果KEY 包含一個(gè) “” 字符* 那么在 “”的右邊就會(huì)字符 ”* 在字符 “” 和 “”直接會(huì)有一個(gè)或多個(gè)字符。但是第一個(gè)“” 一定會(huì)出現(xiàn)在第一個(gè)“”之后* 只有在第一個(gè) 和它右邊第一個(gè) 之間的內(nèi)容會(huì)被用來計(jì)算哈希值例子:
6、1、比如這兩個(gè)鍵 user:1000.following 和user:1000.followers 會(huì)被哈希到同一個(gè)哈希槽里,因?yàn)橹挥?1000 這個(gè)子串會(huì)被用來計(jì)算哈希值。 2、對(duì)于 userlist 這個(gè)鍵,整個(gè)鍵都會(huì)被用來計(jì)算哈希值,因?yàn)榈谝粋€(gè)出現(xiàn)的 和它右邊第一個(gè)出現(xiàn)的 之間沒有任何字符。 3、對(duì)于 usermomoidfollowing 這個(gè)鍵,用來計(jì)算哈希值的是 momoid 這個(gè)子串,因?yàn)樗堑谝粋€(gè) 及其右邊第一個(gè) 之間的內(nèi)容。 4、對(duì)于 usermomoidfollowing 這個(gè)鍵,用來計(jì)算哈希值的是 momoid 這個(gè)子串,因?yàn)樗惴〞?huì)在第一次有效或無效(比如中間沒有任何字節(jié)
7、)地匹配到 和 的時(shí)候停止。 5、按照這個(gè)算法,如果一個(gè)鍵是以 開頭的話,那么就當(dāng)作整個(gè)鍵會(huì)被用來計(jì)算哈希值。當(dāng)使用二進(jìn)制數(shù)據(jù)做為鍵名稱的時(shí)候,這是非常有用的。Redis Cluster 介紹相關(guān)命令集群 1、CLUSTER INFO 打印集群的信息 2、CLUSTER NODES 列出集群當(dāng)前已知的所有節(jié)點(diǎn)(node),以及這些節(jié)點(diǎn)的相關(guān)信息。 3、CLUSTER FAILOVER 手動(dòng)故障轉(zhuǎn)移,需要在轉(zhuǎn)移的主節(jié)點(diǎn)的從節(jié)點(diǎn)上執(zhí)行 節(jié)點(diǎn) 1、CLUSTER MEET 將 ip 和 port 所指定的節(jié)點(diǎn)添加到集群當(dāng)中,讓它成為集群的一份子。 2、CLUSTER FORGET 從集群中移除 no
8、de_id 指定的節(jié)點(diǎn)。 3、CLUSTER REPLICATE 將當(dāng)前節(jié)點(diǎn)設(shè)置為 node_id 指定的節(jié)點(diǎn)的從節(jié)點(diǎn)。 4、CLUSTER SAVECONFIG 將節(jié)點(diǎn)的配置文件保存到硬盤里面。 槽(slot) 1、CLUSTER ADDSLOTS slot . 將一個(gè)或多個(gè)槽(slot)指派(assign)給當(dāng)前節(jié)點(diǎn)。 2、CLUSTER DELSLOTS slot . 移除一個(gè)或多個(gè)槽對(duì)當(dāng)前節(jié)點(diǎn)的指派。 3、CLUSTER FLUSHSLOTS 移除指派給當(dāng)前節(jié)點(diǎn)的所有槽,讓當(dāng)前節(jié)點(diǎn)變成一個(gè)沒有指派任何槽的節(jié)點(diǎn)。 4、CLUSTER SETSLOT NODE 將槽 slot 指派給 no
9、de_id 指定的節(jié)點(diǎn),如果槽已經(jīng)指派給另一個(gè)節(jié)點(diǎn),那么先讓另一個(gè)節(jié)點(diǎn)刪除該槽,然后再進(jìn)行指派。 1、CLUSTER SETSLOT MIGRATING 將本節(jié)點(diǎn)的槽 slot 遷移到 node_id 指定的節(jié)點(diǎn)中。 2、CLUSTER SETSLOT IMPORTING 從 node_id 指定的節(jié)點(diǎn)中導(dǎo)入槽 slot 到本節(jié)點(diǎn)。 3、CLUSTER SETSLOT STABLE 取消對(duì)槽 slot 的導(dǎo)入(import)或者遷移(migrate)。 鍵 1、CLUSTER KEYSLOT 計(jì)算鍵 key 應(yīng)該被放置在哪個(gè)槽上。 2、CLUSTER COUNTKEYSINSLOT 返回槽 s
10、lot 目前包含的鍵值對(duì)數(shù)量。 3、CLUSTER GETKEYSINSLOT 返回 count 個(gè) slot 槽中的鍵。 不支持的命令: 1、不支持SELECT 命令,集群只使用數(shù)據(jù)庫 0 2、不支持多個(gè)KEY的操作 如 MSET、SUION、SINTER等命令 (因?yàn)镵EYS 無法hash到同一個(gè)slot中)Redis Cluster介紹集群配置必須配置:cluster-enabled yes - 開啟集群模式cluster-config-file nodes-30000.conf - 集群相關(guān)的信息cluster-node-timeout 15000 - 節(jié)點(diǎn)超時(shí)時(shí)間,用來failove
11、r的操作可選配置:cluster-slave-validity-factor 10 cluster-migration-barrier 1cluster-require-full-coverage yesRedis-trib.rb 相關(guān)命令redis-trib.rb create -replicas N host:ip host:ip . 創(chuàng)建集群redis-trib.rb add-node host:ip host:ip 將前面的host:ip 添加到集群中redis-trib.rb check host:ip 檢查集群的狀態(tài)redis-trib.rb reshard host:ip OR
12、redis-trib.rb reshard -from host:port -to host:port -slots -yes集群重新分片redis-trib.rb del-node host:ip NODE ID 將節(jié)點(diǎn)從集群中移除Redis Cluster 介紹 Failover機(jī)制 節(jié)點(diǎn)心跳 失效檢測 從選舉與提升Redis Cluster介紹 優(yōu)點(diǎn) redis 在主節(jié)點(diǎn)下線后,從節(jié)點(diǎn)會(huì)自動(dòng)提升為主節(jié)點(diǎn),提供服務(wù) redis 宕機(jī)節(jié)點(diǎn)恢復(fù)后,自動(dòng)會(huì)添加到集群中,變成從節(jié)點(diǎn) 缺點(diǎn) 由于redis的復(fù)制使用異步機(jī)制,在自動(dòng)故障轉(zhuǎn)移的過程中,集群可能會(huì)丟失寫命令。然而 redis 幾乎是同時(shí)執(zhí)行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版桶裝水電商銷售與物流配送合作協(xié)議3篇
- AAA 玻璃有限公司煙氣余熱發(fā)電項(xiàng)目可行性研究報(bào)告
- 酒店行業(yè)助理的工作概述
- 幼兒園工作總結(jié)愛心傳遞溫馨舒適
- 二零二五年度:我國行政合同中優(yōu)益權(quán)在公共服務(wù)領(lǐng)域的應(yīng)用論文3篇
- 2025版物業(yè)糾紛調(diào)解與法律服務(wù)合作協(xié)議2篇
- 二零二五年度個(gè)人版權(quán)保護(hù)與維權(quán)服務(wù)合同2篇
- 2025版食材配送與餐飲加盟合作合同模板3篇
- 二零二五年度能源合同能源管理服務(wù)協(xié)議范本2篇
- 聚氨酯發(fā)泡保溫施工方案
- 2017年江蘇南京中考滿分作文《無情歲月有味詩》5
- 2024-2030年中國智慧水務(wù)行業(yè)應(yīng)用需求分析發(fā)展規(guī)劃研究報(bào)告
- 2024年中國南水北調(diào)集團(tuán)新能源投資限公司抽水蓄能項(xiàng)目崗位公開招聘高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 中國2型糖尿病運(yùn)動(dòng)治療指南 (2024版)
- 基礎(chǔ)構(gòu)成設(shè)計(jì)全套教學(xué)課件
- 城市道路交通安全評(píng)價(jià)標(biāo)準(zhǔn) DG-TJ08-2407-2022
- 統(tǒng)編版高中政治選擇性必修2《法律與生活》知識(shí)點(diǎn)復(fù)習(xí)提綱詳細(xì)版
- 急腹癥的診斷思路
- 2024小說推文行業(yè)白皮書
- 研究性成果及創(chuàng)新性成果怎么寫(通用6篇)
- 特殊感染手術(shù)管理考試試題及答案
評(píng)論
0/150
提交評(píng)論