1"use strict";(self.webpackChunkatips=self.webpackChunkatips||[]).push([[8572],{7496:(e,i,d)=>{d.r(i),d.d(i,{data:()=>r});const r={key:"v-3067c0c2",path:"/database/nosql-redis/redis-overview.html",title:"Reids - Overview",lang:"zh-CN",frontmatter:{},excerpt:"",headers:[{level:2,title:"ç¥è¯ä½ç³»",slug:"ç¥è¯ä½ç³»",children:[{level:3,title:"Rediså
¥é¨ - æ¦å¿µååºç¡",slug:"rediså
¥é¨-æ¦å¿µååºç¡",children:[]},{level:3,title:"Rediså
¥é¨ - æ°æ®ç±»å",slug:"rediså
¥é¨-æ°æ®ç±»å",children:[]},{level:3,title:"Redisè¿é¶ - æä¹
å",slug:"redisè¿é¶-æä¹
å",children:[]},{level:3,title:"Redisè¿é¶ - æ¶æ¯ä¼ éï¼åå¸è®¢é
模å¼",slug:"redisè¿é¶-æ¶æ¯ä¼ é-åå¸è®¢é
模å¼",children:[]},{level:3,title:"Redisè¿é¶ - äºä»¶ï¼Redisäºä»¶æºå¶",slug:"redisè¿é¶-äºä»¶-redisäºä»¶æºå¶",children:[]},{level:3,title:"Redisè¿é¶ - äºå¡ï¼Redisäºå¡",slug:"redisè¿é¶-äºå¡-redisäºå¡",children:[]},{level:3,title:"Redisè¿é¶ - é«å¯ç¨ï¼é群",slug:"redisè¿é¶-é«å¯ç¨-é群",children:[]},{level:3,title:"Redisè¿é¶ - é«å¯ç¨ï¼ä¸»ä»å¤å¶",slug:"redisè¿é¶-é«å¯ç¨-主ä»å¤å¶",children:[]},{level:3,title:"Redisè¿é¶ - é«å¯ç¨ï¼å¨å
µæºå¶(Redis Sentinel)",slug:"redisè¿é¶-é«å¯ç¨-å¨å
µæºå¶-redis-sentinel",children:[]},{level:3,title:"Redisè¿é¶ - é«å¯æå±ï¼åçææ¯(Redis Cluster)",slug:"redisè¿é¶-é«å¯æå±-åçææ¯-redis-cluster",children:[]},{level:3,title:"Redisè¿é¶ - ç¼åé®é¢ï¼ä¸è´æ§, ç©¿å», ç©¿é, éªå´©, 污æç",slug:"redisè¿é¶-ç¼åé®é¢-ä¸è´æ§-ç©¿å»-ç©¿é-éªå´©-污æç",children:[]},{level:3,title:"Redisè¿é¶ - çæ¬ç¹æ§: 4.0ã5.0ã6.0ç¹æ§æ´ç",slug:"redisè¿é¶-çæ¬ç¹æ§-4-0ã5-0ã6-0ç¹æ§æ´ç",children:[]},{level:3,title:"Redisè¿é¶ - è¿ç»´çæ§",slug:"redisè¿é¶-è¿ç»´çæ§",children:[]},{level:3,title:"Redisè¿é¶ - æ§è½è°ä¼",slug:"redisè¿é¶-æ§è½è°ä¼",children:[]}]},{level:2,title:"å¦ä¹ èµæ",slug:"å¦ä¹ èµæ",children:[]}],filePathRelative:"database/nosql-redis/redis-overview.md",git:{updatedTime:1719836412e3,contributors:[{name:"TianCi.Xiong",email:"[email protected]",commits:2},{name:"Tianci.Xiong",email:"[email protected]",commits:2}]}}},6266:(e,i,d)=>{d.r(i),d.d(i,{default:()=>S});var r=d(6252);const s=(0,r.uE)('<h1 id="reids-overview" tabindex="-1"><a class="header-anchor" href="#reids-overview" aria-hidden="true">#</a> Reids - Overview</h1><h2 id="ç¥è¯ä½ç³»" tabindex="-1"><a class="header-anchor" href="#ç¥è¯ä½ç³»" aria-hidden="true">#</a> ç¥è¯ä½ç³»</h2><h3 id="rediså
¥é¨-æ¦å¿µååºç¡" tabindex="-1"><a class="header-anchor" href="#rediså
¥é¨-æ¦å¿µååºç¡" aria-hidden="true">#</a> Rediså
¥é¨ - æ¦å¿µååºç¡</h3><p>Redis æ¯ä¸ç§æ¯æ <code>key-value</code> çå¤ç§æ°æ®ç»æçåå¨ç³»ç»ãå¯ç¨äºç¼åï¼äºä»¶åå¸æè®¢é
ï¼é«ééåçåºæ¯ãæ¯æç½ç»ï¼æä¾å符串ï¼åå¸ï¼å表ï¼éåï¼éåç»æç´æ¥ååï¼åºäºå
åï¼å¯æä¹
åã</p><p><img src="//gcore.jsdelivr.net/gh/tiancixiong/atips@img-230529/images/database/nosql-redis/20200713105627.png" alt="img"></p><h3 id="rediså
¥é¨-æ°æ®ç±»å" tabindex="-1"><a class="header-anchor" href="#rediså
¥é¨-æ°æ®ç±»å" aria-hidden="true">#</a> Rediså
¥é¨ - æ°æ®ç±»å</h3><ul><li>Rediså
¥é¨ - æ°æ®ç±»åï¼5 ç§åºç¡æ°æ®ç±»å <ul><li>Redis ææç <strong>key</strong>ï¼é®ï¼é½æ¯å符串ãæä»¬å¨è°åºç¡æ°æ®ç»ææ¶ï¼è®¨è®ºçæ¯åå¨<strong>å¼</strong>çæ°æ®ç±»åï¼ä¸»è¦å
æ¬å¸¸è§ç5ç§æ°æ®ç±»åï¼å嫿¯ï¼StringãListãSetãZsetãHashã</li></ul></li></ul><p><img src="//gcore.jsdelivr.net/gh/tiancixiong/atips@img-230529/images/database/nosql-redis/20200226113813.png" alt="Redis æ°æ®ç±»å"></p><ul><li>Rediså
¥é¨ - æ°æ®ç±»åï¼3 ç§ç¹æ®ç±»å <ul><li>Redis é¤äºä¸æä¸ 5 ç§åºç¡æ°æ®ç±»åï¼è¿æä¸ç§ç¹æ®çæ°æ®ç±»åï¼å嫿¯ <em>HyperLogLogs</em>ï¼åºæ°ç»è®¡ï¼ï¼ <em>Bitmaps</em> (ä½å¾) å <em>geospatial</em> ï¼å°çä½ç½®ï¼ã</li></ul></li></ul><h3 id="redisè¿é¶-æä¹
å" tabindex="-1"><a class="header-anchor" href="#redisè¿é¶-æä¹
å" aria-hidden="true">
1#</a> Redisè¿é¶ - æä¹
å</h3><p>为äºé²æ¢æ°æ®ä¸¢å¤±ä»¥åæå¡é坿¶è½å¤æ¢å¤æ°æ®ï¼Redis æ¯ææ°æ®çæä¹
åï¼ä¸»è¦åä¸ºä¸¤ç§æ¹å¼ï¼å嫿¯ <em>RDB</em> å <em>AOF</em>ï¼å½ç¶å®é
åºæ¯ä¸è¿ä¼ä½¿ç¨è¿ä¸¤ç§çæ··åæ¨¡å¼ã</p><p><img src="//gcore.jsdelivr.net/gh/tiancixiong/atips@img-230529/images/database/nosql-redis/20200224214047.png" alt="img"></p><h3 id="redisè¿é¶-æ¶æ¯ä¼ é-åå¸è®¢é
模å¼" tabindex="-1"><a class="header-anchor" href="#redisè¿é¶-æ¶æ¯ä¼ é-åå¸è®¢é
模å¼" aria-hidden="true">#</a> Redisè¿é¶ - æ¶æ¯ä¼ éï¼åå¸è®¢é
模å¼</h3><h3 id="redisè¿é¶-äºä»¶-redisäºä»¶æºå¶" tabindex="-1"><a class="header-anchor" href="#redisè¿é¶-äºä»¶-redisäºä»¶æºå¶" aria-hidden="true">#</a> Redisè¿é¶ - äºä»¶ï¼Redisäºä»¶æºå¶</h3><h3 id="redisè¿é¶-äºå¡-redisäºå¡" tabindex="-1"><a class="header-anchor" href="#redisè¿é¶-äºå¡-redisäºå¡" aria-hidden="true">#</a> Redisè¿é¶ - äºå¡ï¼Redisäºå¡</h3><h3 id="redisè¿é¶-é«å¯ç¨-é群" tabindex="-1"><a class="header-anchor" href="#redisè¿é¶-é«å¯ç¨-é群" aria-hidden="true">#</a> Redisè¿é¶ - é«å¯ç¨ï¼é群</h3><blockquote><p>å
³é®è¯ï¼<code>CLUSTER MEET</code>ã<code>Hash slot</code>ã<code>MOVED</code>ã<code>ASK</code>ã<code>SLAVEOF no one</code>ã<code>redis-trib</code></p></blockquote><p><img src="//gcore.jsdelivr.net/gh/tiancixiong/atips@img-230529/images/database/nosql-redis/20200713100613.png" alt="img"></p><h3 id="redisè¿é¶-é«å¯ç¨-主ä»å¤å¶" tabindex="-1"><a class="header-anchor" href="#redisè¿é¶-é«å¯ç¨-主ä»å¤å¶" aria-hidden="true">#</a> Redisè¿é¶ - é«å¯ç¨ï¼ä¸»ä»å¤å¶</h3><blockquote><p>å
³é®è¯ï¼<code>SLAVEOF</code>ã<code>SYNC</code>ã<code>PSYNC</code>ã<code>REPLCONF ACK</code></p></blockquote><p>
1æä»¬ç¥éè¦é¿å
åç¹æ
éï¼å³ä¿è¯é«å¯ç¨ï¼ä¾¿éè¦åä½ï¼å¯æ¬ï¼æ¹å¼æä¾é群æå¡ãè Redis æä¾äºä¸»ä»åºæ¨¡å¼ï¼ä»¥ä¿è¯æ°æ®å¯æ¬çä¸è´ï¼ä¸»ä»åºä¹é´éç¨çæ¯è¯»ååç¦»çæ¹å¼ãæ¬æä¸»è¦éè¿° Redis ç主ä»å¤å¶ã</p><p><img src="//gcore.jsdelivr.net/gh/tiancixiong/atips@img-230529/images/database/nosql-redis/20200712182603.png" alt="img"></p><h3 id="redisè¿é¶-é«å¯ç¨-å¨å
µæºå¶-redis-sentinel" tabindex="-1"><a class="header-anchor" href="#redisè¿é¶-é«å¯ç¨-å¨å
µæºå¶-redis-sentinel" aria-hidden="true">#</a> Redisè¿é¶ - é«å¯ç¨ï¼å¨å
µæºå¶(Redis Sentinel)</h3><blockquote><p>Redis å¨å
µï¼Sentinelï¼æ¯ Redis çé«å¯ç¨æ§ï¼Hight Availabilityï¼è§£å³æ¹æ¡ã</p><p>Redis å¨å
µæ¯ Raft ç®æ³ çå
·ä½å®ç°ã</p><p>å
³é®è¯ï¼<code>Sentinel</code>ã<code>PING</code>ã<code>INFO</code>ã<code>Raft</code></p></blockquote><p>å¨ä¸æä¸»ä»å¤å¶çåºç¡ä¸ï¼å¦ææ³¨èç¹åºç°æ
é该æä¹åå¢ï¼ å¨ Redis 主ä»é群ä¸ï¼å¨å
µæºå¶æ¯å®ç°ä¸»ä»åºèªå¨åæ¢çå
³é®æºå¶ï¼å®ææå°è§£å³äºä¸»ä»å¤å¶æ¨¡å¼ä¸æ
é转移çé®é¢ã</p><p><img src="//gcore.jsdelivr.net/gh/tiancixiong/atips@img-230529/images/database/nosql-redis/20200713072747.png" alt="img"></p><h3 id="redisè¿é¶-é«å¯æå±-åçææ¯-redis-cluster" tabindex="-1"><a class="header-anchor" href="#redisè¿é¶-é«å¯æå±-åçææ¯-redis-cluster" aria-hidden="true">#</a> Redisè¿é¶ - é«å¯æå±ï¼åçææ¯(Redis Cluster)</h3><h3 id="redisè¿é¶-ç¼åé®é¢-ä¸è´æ§-ç©¿å»-ç©¿é-éªå´©-污æç" tabindex="-1"><a class="header-anchor" href="#redisè¿é¶-ç¼åé®é¢-ä¸è´æ§-ç©¿å»-ç©¿é-éªå´©-污æç" aria-hidden="true">#</a> Redisè¿é¶ - ç¼åé®é¢ï¼ä¸è´æ§, ç©¿å», ç©¿é, éªå´©, 污æç</h3><h3 id="redisè¿é¶-çæ¬ç¹æ§-4-0ã5-0ã6-0ç¹æ§æ´ç" tabindex="-1"><a class="header-anchor" href="#redisè¿é¶-çæ¬ç¹æ§-4-0ã5-0ã6-0ç¹æ§æ´ç" aria-hidden="true">#</a> Redisè¿é¶ - çæ¬ç¹æ§: 4.0ã5.0ã6.0ç¹æ§æ´ç</h3><h3 id="redisè¿é¶-è¿ç»´çæ§" tabindex="-1"><a class="header-anchor" href="#redisè¿é¶-è¿ç»´çæ§" aria-hidden="true">#</a> Redisè¿é¶ - è¿ç»´çæ§</h3><h3 id="redisè¿é¶-æ§è½è°ä¼" tabindex="-1"><a class="header-anchor" href="#redisè¿é¶-æ§è½è°ä¼" aria-hidden="true">#</a> Redisè¿é¶ - æ§è½è°ä¼</h3><h2 id="å¦ä¹ èµæ" tabindex="-1"><a class="header-anchor" href="#å¦ä¹ èµæ" aria-hidden="true">#</a> å¦ä¹ èµæ</h2>',32),a=(0,r._)("p",null,"å®ç½",-1),l={href:"http://redis.io",target:"_blank",rel:"noopener noreferrer"},t=(0,r.Uk)("Redis å®ç½"),n={href:"https://github.com/antirez/redis",target:"_blank",rel:"noopener noreferrer"},h=(0,r.Uk)("Redis github"),o=(0,r._)("p",null,"ææ¡£",-1),c=(0,r.Uk)("Redis 宿¹ææ¡£ï¼"),u={href:"http://redis.io/documentation",target:"_blank",rel:"noopener noreferrer"},g=(0,r.Uk)("http://redis.io/documentation"),p=(0,r.Uk)("ä¸æææ¡£ï¼"),m={href:"http://www.redis.cn/documentation.html",target:"_blank",rel:"noopener noreferrer"},R=(0,r.Uk)("http://www.redis.cn/documentation.html"),b=(0,r._)("p",null,"å
¶ä»èµæº",-1),f=(0,r.Uk)("Redis æç¨ï¼"),v={href:"https://dunwu.github.io/db-tutorial/nosql/redis/",target:"_blank",rel:"noopener noreferrer"},k=(0,r.Uk)("https://dunwu.github.io/db-tutorial/nosql/redis/"),_=(0,r.Uk)("Redis å½ä»¤åèï¼"),x={href:"http://redisdoc.com/",target:"_blank",rel:"noopener noreferrer"},w=(0,r.Uk)("http://redisdoc.com/"),q={},S=(0,d(3744).Z)(q,[["render",function(e,i){const d=(0,r.up)("OutboundLink");return(0,r.wg)(),(0,r.iD)(r.HY,null,[s,(0,r._)("ul",null,[(0,r._)("li",null,[a,(0,r._)("ul",null,[(0,r._)("li",null,[(0,r._)("a",l,[t,(0,r.Wm)(d)])]),(0,r._)("li",null,[(0,r._)("a",n,[h,(0,r.Wm)(d)])])])]),(0,r._)("li",null,[o,(0,r._)("ul",null,[(0,r._)("li",null,[c,(0,r._)("a",u,[g,(0,r.Wm)(d)])]),(0,r._)("li",null,[p,(0,r._)("a",m,[R,(0,r.Wm)(d)])])])]),(0,r._)("li",null,[b,(0,r._)("ul",null,[(0,r._)("li",null,[f,(0,r._)("a",v,[k,(0,r.Wm)(d)])]),(0,r._)("li",null,[_,(0,r._)("a",x,[w,(0,r.Wm)(d)])])])])])],64)}]])},3744:(e,i)=>{i.Z=(e,i)=>{for(const[d,r]of i)e[d]=r;return e}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.