1"use strict";(self.webpackChunkengula_website=self.webpackChunkengula_website||[]).push([["2805"],{7150:function(e,n,d){d.r(n),d.d(n,{default:()=>c});var s=d(2676),r=d(453);function i(e){let n=Object.assign({h1:"h1",a:"a",p:"p",strong:"strong",blockquote:"blockquote",code:"code",h2:"h2",table:"table",thead:"thead",tr:"tr",th:"th",tbody:"tbody",td:"td",ol:"ol",li:"li",pre:"pre",ul:"ul",h3:"h3"},(0,r.ah)(),e.components);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.h1,{id:"engula-clientcompat客æ·ç«¯å
¼å®¹æ§æµè¯å·¥å
·",children:["Engula ClientCompatï¼å®¢æ·ç«¯å
¼å®¹æ§æµè¯å·¥å
·ï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#engula-clientcompat客æ·ç«¯å
¼å®¹æ§æµè¯å·¥å
·",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"Engula ClientCompat æ¯ä¸ä¸ª Docker å¯è¿è¡ç客æ·ç«¯å
¼å®¹æ§éªè¯å·¥å
·ãå®æä¸»æµ Redis 社åºå®¢æ·ç«¯ç宿¹æµè¯éæå
å°éåä¸ï¼ç¨åä¸å¥æµè¯åå«éªè¯ Redis 7.2 åºçº¿å Engulaï¼å¹¶çæ HTML æ¥åã"}),"\n",(0,s.jsxs)(n.p,{children:["è¿ç¯å®ç½æååªä»ç» ",(0,s.jsx)(n.strong,{children:"Docker éå + 常ç¨è¿è¡æ¹å¼ + æ¥å解读"}
1),"ãæºç æå»ºã客æ·ç«¯æºç 忢ãé¿æè¶å¿å
¥åºå CI 深度éæçé«çº§ç¨æ³ï¼ä¼æ¾å¨å¼æºé¡¹ç®ææ¡£ä¸ç»´æ¤ã"]}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:["å®å
¨æç¤ºï¼åªæè¿è¡ ",(0,s.jsx)(n.code,{children:"jedis"}),"ã",(0,s.jsx)(n.code,{children:"redis-py"}),"ã",(0,s.jsx)(n.code,{children:"node-redis"})," è¿ç±»éè¦å次å¯å¨è¾
å©å®¹å¨çæµè¯æ¶ï¼æéè¦æå®¿ä¸»æº Docker socket æå
¥æµè¯å®¹å¨ãè¿æ ·å®¹å¨å¯ä»¥è°ç¨å®¿ä¸»æº Docker daemonï¼è¯·åªå¨åæ§æµè¯æºä¸ä½¿ç¨ã"]}),"\n"]}),"\n",(0,s.jsxs)(n.h2,{id:"1-è¿ä¸ªå·¥å
·éªè¯ä»ä¹",children:["1. è¿ä¸ªå·¥å
·éªè¯ä»ä¹",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#1-è¿ä¸ªå·¥å
·éªè¯ä»ä¹",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"客æ·ç«¯å
¼å®¹æ§æµè¯åççé®é¢æ¯ï¼ç°æ Redis 客æ·ç«¯ SDK ä½¿ç¨ Engula ä½ä¸ºæå¡ç«¯æ¶ï¼è¿æ¥ãå½ä»¤ãäºå¡ãPipelineãPub/SubãStreamãTLS ç常è§è¡ä¸ºæ¯å¦ä¸ Redis 7.2 åºçº¿ä¿æä¸è´ã"}),"\n",(0,s.jsx)(n.p,{children:"å½åéåèç¦ 4 个社åºå®¢æ·ç«¯ï¼"}),"\n",(0,s.jsxs)(n.table,{children:["\n",(0,s.jsxs)(n.thead,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.th,{children:"客æ·ç«¯"}),"\n",(0,s.jsx)(n.th,{children:"è¯è¨"}),"\n",(0,s.jsx)(n.th,{children:"é»è®¤çæ¬"}),"\n",(0,s.jsx)(n.th,{children:"æµè¯æ¹å¼"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.tbody,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"Jedis"}),"\n",(0,s.jsx)(n.td,{children:"Java"}),"\n",(0,s.jsx)(n.td,{children:"v6.2.0"}),"\n",(0,s.jsx)(n.td,{children:"Maven / JUnit"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"redis-py"}),"\n",(0,s.jsx)(n.td,{children:"Python"}),"\n",(0,s.jsx)(n.td,{children:"master"}),"\n",(0,s.jsx)(n.td,{children:"pytest"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"go-redis"}),"\n",(0,s.jsx)(n.td,{children:"Go"}),"\n",(0,s.jsx)(n.td,{children:"v9.3.1"}),"\n",(0,s.jsx)(n.td,{children:"go test / Ginkgo"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"node-redis"}),"\n",(0,s.jsx)(n.td,{children:"Node.js"}),"\n",(0,s.jsx)(n.td,{children:"stable"}),"\n",(0,s.jsx)(n.td,{children:"npm / Mocha"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["妿æ¨åªæ³å¿«é确认 Redis å½ä»¤ä¸æ°æ®ç»æå
¼å®¹æ§ï¼ä¼å
ä½¿ç¨ ",(0,s.jsx)(n.a,{href:"/docs/tools/kernelcompat",children:"Engula KernelCompat"}),"ã妿æ¨è¦å宿´äº¤ä»éªæ¶ï¼ä½¿ç¨ ",(0,s.jsx)(n.a,{href:"/docs/codeproof/usage-guide",children:"Engula CodeProof"}),"ãClientCompat ä½äºä¸¤è
ä¹é´ï¼ä¸é¨éªè¯çå®å®¢æ·ç«¯çæã"]}),"\n",(0,s.jsxs)(n.h2,{id:"2-éªè¯åç",children:["2. éªè¯åç",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#2-éªè¯åç",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"æ¯ä¸ªå®¢æ·ç«¯æµè¯é½ä¼æåä¸å¥æµç¨è¿è¡ï¼"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:"å¨å®¹å¨å
å¯å¨ Redis 7.2 ä½ä¸ºåºçº¿æå¡ã"}),"\n",(0,s.jsx)(n.li,{children:"使ç¨å®¢æ·ç«¯å®æ¹æµè¯éè¿è¡ä¸éï¼è®°å½ Redis åºçº¿éè¿æ
åµã"}),"\n",(0,s.jsx)(n.li,{children:"å¨ç¸åæµè¯ç¯å¢ä¸å¯å¨ Engulaã"}),"\n",(0,s.jsx)(n.li,{children:"使ç¨åä¸ä»½å®¢æ·ç«¯æºç ååä¸çæ¬æµè¯éåè¿è¡ä¸éã"}),"\n",(0,s.jsx)(n.li,{children:"è§£æ JUnitãpytestãGinkgo æ Mocha ç»æï¼ææµè¯ç¨ä¾ç»è®¡ Pass / Fail / Skipã"}),"\n",(0,s.jsxs)(n.li,{children:["çæ ",(0,s.jsx)(n.code,{children:"report.html"}),"ï¼å±ç¤º Engula ä¸ Redis åºçº¿çéè¿çãå·®å¼ç¨ä¾åæ¥å¿ä½ç½®ã"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"é»è®¤å¤ææ¹å¼æ¯éè¿çå¯¹é½ Redis åºçº¿ãæ¥åä¼åæ¶ååº Redis åºçº¿ç»æå Engula ç»æï¼æ¹ä¾¿å¤æå·®å¼æ¥èª Engula è¡ä¸ºã客æ·ç«¯æµè¯å设ï¼è¿æ¯ä¸æ¸¸æµè¯ç¯å¢ã"}),"\n",(0,s.jsxs)(n.h2,{id:"3-è¿è¡ååå¤",children:["3. è¿è¡ååå¤",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#3-è¿è¡ååå¤",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"å®ç½ç使ç¨é¢æå»º Docker éåè¿è¡ï¼ä¸éè¦å¨ä¸»æºä¸å®è£
JavaãMavenãPythonãGoãNode.js æå®¢æ·ç«¯æºç ãæ¨åªéè¦åå¤ï¼"}),"\n",(0,s.jsxs)(n.table,{children:["\n",(0,s.jsxs)(n.thead,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.th,{children:"项ç®"}),"\n",(0,s.jsx)(n.th,{children:"说æ"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.tbody,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"Docker"}
1),"\n",(0,s.jsxs)(n.td,{children:["主æºå·²å®è£
Dockerï¼å¹¶è½æ§è¡ ",(0,s.jsx)(n.code,{children:"docker pull"})," ä¸ ",(0,s.jsx)(n.code,{children:"docker run"})]}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"ç£çç®å½"}),"\n",(0,s.jsxs)(n.td,{children:["åå¤ä¸ä¸ª ",(0,s.jsx)(n.code,{children:"results/"})," ç®å½ä¿åæ¥å"]}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"CPU / å
å"}),"\n",(0,s.jsx)(n.td,{children:"建议è³å° 8GB å
åï¼å®æ´è¿è¡ 4 个客æ·ç«¯ä¼æ¯å个客æ·ç«¯èæ¶æ´ä¹
"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:"ç½ç»"}),"\n",(0,s.jsx)(n.td,{children:"馿¬¡è¿è¡é¨å客æ·ç«¯æµè¯æ¶ï¼å¯è½éè¦æåè¾
婿µè¯éå"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"go-redis"})," æµè¯ä¸éè¦æè½½ Docker socketï¼éåä½ä¸ºç¬¬ä¸æ¬¡å¿«éè·ééªè¯ã",(0,s.jsx)(n.code,{children:"jedis"}),"ã",(0,s.jsx)(n.code,{children:"redis-py"}),"ã",(0,s.jsx)(n.code,{children:"node-redis"})," ä¼å¯å¨è¾
å©å®¹å¨ï¼å æ¤éè¦é¢å¤æè½½ Docker socketã"]}),"\n",(0,s.jsxs)(n.h2,{id:"4-æåéå",children:["4. æåéå",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#4-æåéå",children:"#"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"docker pull registry.ap-southeast-1.aliyuncs.com/montplex/engula-client-compat:latest\n"})}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:":latest"})," æ¯å¤æ¶æéåï¼amd64 ä¸ arm64 主æºä¼èªå¨æåå¹é
æ¶æã"]}),"\n",(0,s.jsxs)(n.h2,{id:"5-å¿«éå¼å§å
è·-go-redis",children:["5. å¿«éå¼å§ï¼å
è· go-redis",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#5-å¿«éå¼å§å
è·-go-redis",children:"#"})]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"go-redis"})," ä¸éè¦é¢å¤æè½½ Docker socketï¼å½ä»¤æç®åï¼"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'mkdir -p results\n\ndocker run --rm \\\n -v "$(pwd)/results:/work/results" \\\n registry.ap-southeast-1.aliyuncs.com/montplex/engula-client-compat:latest \\\n proof test client --sub 2.3 \\\n --results-dir /work/results \\\n --version engula-latest\n'})}),"\n",(0,s.jsxs)(n.p,{children:["è¿éç ",(0,s.jsx)(n.code,{children:"--sub 2.3"})," å¯¹åº go-redisï¼ç¨ä½æå°å示ä¾ã宿´å®¢æ·ç«¯éªè¯å¯ä»¥ç´æ¥è¿è¡ä¸ä¸èçå½ä»¤ã"]}),"\n",(0,s.jsxs)(n.p,{children:["è¿è¡ç»æåï¼å¨ä¸»æºå½åç®å½ç ",(0,s.jsx)(n.code,{children:"results/"})," 䏿¥çæ¥åï¼"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"results/\nâââ client-2.3-go-redis-logs/\n âââ 20260519T100000/\n âââ main.log\n âââ report.json\n âââ report.html\n"})}),"\n",(0,s.jsxs)(n.p,{children:["æµè§å¨æå¼ ",(0,s.jsx)(n.code,{children:"report.html"})," å³å¯æ¥çæ¬æ¬¡æµè¯çéè¿çã失败ç¨ä¾åæ¥å¿ç´¢å¼ã"]}),"\n",(0,s.jsxs)(n.h2,{id:"6-è¿è¡å®æ´å®¢æ·ç«¯éªè¯",children:["6. è¿è¡å®æ´å®¢æ·ç«¯éªè¯",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#6-è¿è¡å®æ´å®¢æ·ç«¯éªè¯",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"妿è¦ä¸æ¬¡è¿è¡ 4 个客æ·ç«¯ï¼è¯·ä½¿ç¨å¸¦ Docker socket çå¯å¨æ¹å¼ï¼"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:'mkdir -p results\n\ndocker run --rm --net host \\\n -v /var/run/docker.sock:/var/run/docker.sock \\\n -v /tmp:/tmp \\\n -v "$(pwd)/results:/work/results" \\\n registry.ap-southeast-1.aliyuncs.com/montplex/engula-client-compat:latest \\\n proof test client \\\n --results-dir /work/results \\\n --version engula-latest\n'})}),"\n",(0,s.jsx)(n.p,{children:"è¿æ¡å½ä»¤ä¼æéåå
置顺åºè¿è¡ Jedisãredis-pyãgo-redis å node-redisã"}),"\n",(0,s.jsx)(n.p,{children:"ä½ä¸ºåèï¼å¨ M2 æºå¨ä¸å®æ´è¿è¡ä¸æ¬¡çº¦ 38 åéï¼å®é
èæ¶ä¼åç½ç»ãè¾
å©éåç¼åå Docker èµæºéå¶å½±åã"}),"\n",(0,s.jsx)(n.p,{children:"åæ°è¯´æï¼"}),"\n",(0,s.jsxs)(n.table,{children:["\n",(0,s.jsxs)(n.thead,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.th,{children:"åæ°"}),"\n",(0,s.jsx)(n.th,{children:"ä½ç¨"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.tbody,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"--net host"})}),"\n",(0,s.jsx)(n.td,{children:"让æµè¯å®¹å¨ä¸å®å¯å¨çè¾
å©å®¹å¨ç½ç»äºé"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"/var/run/docker.sock"})}),"\n",(0,s.jsx)(n.td,{children:"å
许æµè¯å®¹å¨è°ç¨å®¿ä¸»æº Docker daemon"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"/tmp:/tmp"})}
1),"\n",(0,s.jsx)(n.td,{children:"让è¾
å©å®¹å¨è½è®¿é®æµè¯è¿ç¨ä¸çæç临æ¶é
ç½®"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"/work/results"})}),"\n",(0,s.jsx)(n.td,{children:"容å¨å
æ¥åè¾åºç®å½"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["妿æ¨åªè¿è¡ go-redis 示ä¾ï¼ä¸éè¦ ",(0,s.jsx)(n.code,{children:"--net host"}),"ãDocker socket å ",(0,s.jsx)(n.code,{children:"/tmp"})," ç»å®ã"]}),"\n",(0,s.jsxs)(n.h2,{id:"7-æ¥çç»æ",children:["7. æ¥çç»æ",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#7-æ¥çç»æ",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"宿´è¿è¡åï¼ç»æç®å½ç±»ä¼¼ï¼"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"results/\nâââ client-2.1-jedis-logs/20260519T100000/\nâ âââ main.log\nâ âââ report.json\nâ âââ report.html\nâââ client-2.2-redis-py-logs/20260519T100500/\nâ âââ main.log\nâ âââ report.json\nâ âââ report.html\nâââ client-2.3-go-redis-logs/20260519T101200/\nâ âââ main.log\nâ âââ report.json\nâ âââ report.html\nâââ client-2.4-node-redis-logs/20260519T102000/\nâ âââ main.log\nâ âââ report.json\nâ âââ report.html\nâââ engula-latest/\n âââ 20260519T103000/\n âââ client.json\n âââ report.json\n âââ index.html\n"})}),"\n",(0,s.jsx)(n.p,{children:"å¸¸ç¨æä»¶ï¼"}),"\n",(0,s.jsxs)(n.table,{children:["\n",(0,s.jsxs)(n.thead,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.th,{children:"æä»¶"}),"\n",(0,s.jsx)(n.th,{children:"ç¨é"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.tbody,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"main.log"})}),"\n",(0,s.jsx)(n.td,{children:"å个客æ·ç«¯æµè¯ç宿´è¿è¡æ¥å¿"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"report.html"})}),"\n",(0,s.jsx)(n.td,{children:"å个客æ·ç«¯æµè¯ç HTML æ¥å"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"client.json"})}),"\n",(0,s.jsx)(n.td,{children:"客æ·ç«¯å¥ä»¶æ±æ»æ°æ®"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"index.html"})}),"\n",(0,s.jsx)(n.td,{children:"æ¬è½®å®¢æ·ç«¯éªè¯çæ±æ»é¡µ"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"æ¥åæ¯éæ HTMLï¼ä¸ä¾èµæå¡ç«¯ãå¯ä»¥ç´æ¥å¨æµè§å¨æå¼ï¼ä¹å¯ä»¥ä½ä¸º PoC æéªæ¶ææå½æ¡£ã"}),"\n",(0,s.jsxs)(n.h2,{id:"8-å¦ä½è§£è¯»æ¥å",children:["8. å¦ä½è§£è¯»æ¥å",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#8-å¦ä½è§£è¯»æ¥å",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"æ¯ä¸ªå®¢æ·ç«¯æ¥åä¼å±ç¤ºè¿äºæ ¸å¿å段ï¼"}),"\n",(0,s.jsxs)(n.table,{children:["\n",(0,s.jsxs)(n.thead,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.th,{children:"åæ®µ"}),"\n",(0,s.jsx)(n.th,{children:"å«ä¹"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.tbody,{children:["\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Pass"})}),"\n",(0,s.jsx)(n.td,{children:"Engula ä¸éè¿çæµè¯ç¨ä¾æ°"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Fail"})}),"\n",(0,s.jsx)(n.td,{children:"Engula ä¸å¤±è´¥çæµè¯ç¨ä¾æ°"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Skip"})}),"\n",(0,s.jsx)(n.td,{children:"客æ·ç«¯æµè¯éèªèº«è·³è¿çç¨ä¾æ°"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Pass Rate"})}),"\n",(0,s.jsx)(n.td,{children:"Engula çéè¿ç"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Baseline"})}),"\n",(0,s.jsx)(n.td,{children:"å䏿µè¯éå¨ Redis 7.2 ä¸çéè¿ç"}),"\n"]}),"\n",(0,s.jsxs)(n.tr,{children:["\n",(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Delta"})}),"\n",(0,s.jsx)(n.td,{children:"Engula éè¿çä¸ Redis åºçº¿éè¿ççå·®å¼"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"建议éç¹çä¸ç±»ä¿¡æ¯ï¼"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Redis åºçº¿æ¯å¦ä¹æå¤±è´¥ã妿 Redis åºçº¿å¤±è´¥ï¼ä¼å
ææ¥å®¢æ·ç«¯æµè¯ç¯å¢ã"}),"\n",(0,s.jsx)(n.li,{children:"Engula ç¬æå¤±è´¥ç¨ä¾ãå®ä»¬æ´å¯è½ä»£è¡¨åè®®ãå½ä»¤è¯ä¹ææµè¯å设差å¼ã"}),"\n",(0,s.jsx)(n.li,{children:"失败ç¨ä¾æ¯å¦æ¥èªæµè¯æ¡æ¶çå
é¨å设ï¼ä¾å¦è¿ç¨è·¯å¾ã临æ¶ç®å½æè¾
å©å®¹å¨å¯å¨æ¹å¼ã"}),"\n"]}),"\n",(0,s.jsxs)(n.h2,{id:"9-常è§é®é¢",children:["9. 常è§é®é¢",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#9-常è§é®é¢",children:"#"})]}),"\n",(0,s.jsxs)(n.h3,{id:"æ¯å¦éè¦å
æå¨å¯å¨-redis-æ-engula",children:["æ¯å¦éè¦å
æå¨å¯å¨ Redis æ Engulaï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#æ¯å¦éè¦å
æå¨å¯å¨-redis-æ-engula",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"ä¸éè¦ãå·¥å
·ä¼èªå¨å¯å¨å¹¶ç®¡ç Redis ä¸ Engula è¿ç¨ï¼æµè¯ç»æåèªå¨æ¸
çã"}),"\n",(0,s.jsxs)(n.h3,{id:"为ä»ä¹æäºå®¢æ·ç«¯éè¦-docker-socket",children:["为ä»ä¹æäºå®¢æ·ç«¯éè¦ Docker socketï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#为ä»ä¹æäºå®¢æ·ç«¯éè¦-docker-socket",children:"#"})]}),"\n",(0,s.jsxs)(n.p,{children:["é¨å客æ·ç«¯å®æ¹æµè¯éä¼å¨æµè¯è¿ç¨ä¸å¯å¨è¾
å©å®¹å¨ï¼ä¾å¦æµè¯é群ã代çãSentinel æ TLS åºæ¯ãæµè¯å®¹å¨éè¦éè¿å®¿ä¸»æº Docker daemon å¯å¨è¿äºè¾
å©å®¹å¨ï¼å æ¤è¦æè½½ ",(0,s.jsx)(n.code,{children:"/var/run/docker.sock"}),"ã"]}),"\n",(0,s.jsxs)(n.h3,{id:"为ä»ä¹è¦æè½½-tmptmp",children:["为ä»ä¹è¦æè½½ ",(0,s.jsx)(n.code,{children:"/tmp:/tmp"}),"ï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#为ä»ä¹è¦æè½½-tmptmp",children:"#"})]}),"\n",(0,s.jsxs)(n.p,{children:["é¨åæµè¯ä¼å¨ ",(0,s.jsx)(n.code,{children:"/tmp"})," ä¸çæä¸´æ¶é
ç½®ï¼åæè¿äºé
ç½®æç»è¾
å©å®¹å¨ãæè½½ ",(0,s.jsx)(n.code,{children:"/tmp:/tmp"})," å¯ä»¥ä¿è¯æµè¯å®¹å¨åå®¿ä¸»æº Docker daemon çå°å䏿¡ä¸´æ¶è·¯å¾ã"]}
1),"\n",(0,s.jsxs)(n.h3,{id:"馿¬¡è¿è¡è¾æ
¢å¦ä½å¤ç",children:["馿¬¡è¿è¡è¾æ
¢å¦ä½å¤çï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#馿¬¡è¿è¡è¾æ
¢å¦ä½å¤ç",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"馿¬¡è¿è¡å¯è½éè¦æåè¾
婿µè¯éåã建议å
ç¡®è®¤å®¿ä¸»æº Docker å¯ä»¥æ£å¸¸æåéåï¼åè¿è¡å®æ´å®¢æ·ç«¯éªè¯ãåªæ³å¿«é确认工å
·é¾æ¯å¦å¯ç¨æ¶ï¼å¯ä»¥å
è· go-redis 示ä¾ã"}),"\n",(0,s.jsxs)(n.h3,{id:"è¿ä¸ªå·¥å
·å-codeproof-æ¯ä»ä¹å
³ç³»",children:["è¿ä¸ªå·¥å
·å CodeProof æ¯ä»ä¹å
³ç³»ï¼",(0,s.jsx)(n.a,{className:"header-anchor","aria-hidden":"true",href:"#è¿ä¸ªå·¥å
·å-codeproof-æ¯ä»ä¹å
³ç³»",children:"#"})]}),"\n",(0,s.jsx)(n.p,{children:"Engula CodeProof æ¯å®æ´éªè¯å¥ä»¶ï¼è¦çå
¼å®¹æ§ã客æ·ç«¯ãæ§è½ãç¨³å®æ§ãè¿ç§»ãå¹³å°ä¸é«å¯ç¨ãClientCompat åªä¿çå
¶ä¸ç客æ·ç«¯éªè¯è½åï¼éååææ¡£é½æ´èç¦ï¼éååç¬éªè¯å®¢æ·ç«¯çæã"})]})}function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,r.ah)(),e.components);return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(i,{...e})}):i(e)}let c=l;l.__RSPRESS_PAGE_META={},l.__RSPRESS_PAGE_META["zh%2Fdocs%2Ftools%2Fclientcompat.md"]={toc:[{text:"1. è¿ä¸ªå·¥å
·éªè¯ä»ä¹",id:"1-è¿ä¸ªå·¥å
·éªè¯ä»ä¹",depth:2},{text:"2. éªè¯åç",id:"2-éªè¯åç",depth:2},{text:"3. è¿è¡ååå¤",id:"3-è¿è¡ååå¤",depth:2},{text:"4. æåéå",id:"4-æåéå",depth:2},{text:"5. å¿«éå¼å§ï¼å
è· go-redis",id:"5-å¿«éå¼å§å
è·-go-redis",depth:2},{text:"6. è¿è¡å®æ´å®¢æ·ç«¯éªè¯",id:"6-è¿è¡å®æ´å®¢æ·ç«¯éªè¯",depth:2},{text:"7. æ¥çç»æ",id:"7-æ¥çç»æ",depth:2},{text:"8. å¦ä½è§£è¯»æ¥å",id:"8-å¦ä½è§£è¯»æ¥å",depth:2},{text:"9. 常è§é®é¢",id:"9-常è§é®é¢",depth:2},{text:"æ¯å¦éè¦å
æå¨å¯å¨ Redis æ Engulaï¼",id:"æ¯å¦éè¦å
æå¨å¯å¨-redis-æ-engula",depth:3},{text:"为ä»ä¹æäºå®¢æ·ç«¯éè¦ Docker socketï¼",id:"为ä»ä¹æäºå®¢æ·ç«¯éè¦-docker-socket",depth:3},{text:"为ä»ä¹è¦æè½½ `/tmp:/tmp`ï¼",id:"为ä»ä¹è¦æè½½-tmptmp",depth:3},{text:"馿¬¡è¿è¡è¾æ
¢å¦ä½å¤çï¼",id:"馿¬¡è¿è¡è¾æ
¢å¦ä½å¤ç",depth:3},{text:"è¿ä¸ªå·¥å
·å CodeProof æ¯ä»ä¹å
³ç³»ï¼",id:"è¿ä¸ªå·¥å
·å-codeproof-æ¯ä»ä¹å
³ç³»",depth:3}],title:"Engula ClientCompatï¼å®¢æ·ç«¯å
¼å®¹æ§æµè¯å·¥å
·ï¼",headingTitle:"Engula ClientCompatï¼å®¢æ·ç«¯å
¼å®¹æ§æµè¯å·¥å
·ï¼",frontmatter:{}}}}]);
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.