{"id":79,"date":"2019-11-25T11:39:11","date_gmt":"2019-11-25T11:39:11","guid":{"rendered":"http:\/\/www.betterit360.com\/?p=79"},"modified":"2019-11-25T11:39:11","modified_gmt":"2019-11-25T11:39:11","slug":"%e6%ba%90%e7%a0%81%e7%bc%96%e8%af%91%e5%ae%89%e8%a3%85redis","status":"publish","type":"post","link":"http:\/\/www.betterit360.com\/?p=79","title":{"rendered":"\u6e90\u7801\u7f16\u8bd1\u5b89\u88c5Redis"},"content":{"rendered":"\n<p><strong>\u73af\u5883\uff1a<\/strong><strong><\/strong><\/p>\n\n\n\n<p>CentOS7.2<\/p>\n\n\n\n<p>redis version\uff1a4.0.11<\/p>\n\n\n\n<p><strong>\u5b89\u88c5\u6b65\u9aa4\uff1a<\/strong><strong><\/strong><\/p>\n\n\n\n<p># tar zxf redis-4.0.11.tar.gz <\/p>\n\n\n\n<p># cd redis-4.0.11<\/p>\n\n\n\n<p># make<\/p>\n\n\n\n<p># make install&nbsp;PREFIX=\/usr\/local\/redis\t\/\/\u6307\u5b9a\u5b89\u88c5\u76ee\u5f55<\/p>\n\n\n\n<p># mkdir \/usr\/local\/redis\/conf\t\t\/\/\u5efa\u914d\u7f6e\u6587\u4ef6\u76ee\u5f55<\/p>\n\n\n\n<p># cp redis.conf \/usr\/local\/redis\/conf<\/p>\n\n\n\n<p># mkdir \/usr\/local\/redis\/log\t\t\/\/\u5efa\u65e5\u5fd7\u6587\u4ef6\u76ee\u5f55<\/p>\n\n\n\n<p># touch \/usr\/local\/redis\/log\/redis_6379.log\t\t\/\/\u5efa\u65e5\u5fd7\u6587\u4ef6<\/p>\n\n\n\n<p># vi \/usr\/local\/redis\/conf\/redis.conf<\/p>\n\n\n\n<p>\u4fee\u6539\u5982\u4e0b\u5185\u5bb9\uff1a<\/p>\n\n\n\n<p>bind 0.0.0.0\t\t\t\t\/\/\u5141\u8bb8\u4efb\u4f55\u8fde\u63a5<\/p>\n\n\n\n<p>daemonize yes<\/p>\n\n\n\n<p>logfile \/usr\/local\/redis\/log\/redis_6379.log&nbsp;&nbsp;\/\/\u6307\u5b9a\u65e5\u5fd7\u6587\u4ef6<\/p>\n\n\n\n<p>dir \/usr\/local\/redis\/bin\t\t\/\/\u5de5\u4f5c\u76ee\u5f55\uff0c\u5907\u4efd\u6587\u4ef6\u4e5f\u4fdd\u5b58\u5728\u6b64\u76ee\u5f55<\/p>\n\n\n\n<p>requirepass &lt;\u8bbe\u7f6e\u5bc6\u7801&gt;\t\t\/\/\u8bbe\u7f6e\u8ba4\u8bc1\u5bc6\u7801<\/p>\n\n\n\n<p>#vi \/etc\/profile <\/p>\n\n\n\n<p>export&nbsp;PATH=&#8221;$PATH:\/usr\/local\/redis\/bin&#8221;&nbsp;<\/p>\n\n\n\n<p># \u4fdd\u5b58\u9000\u51fa<\/p>\n\n\n\n<p># \u8ba9\u73af\u5883\u53d8\u91cf\u7acb\u5373\u751f\u6548\uff1a&nbsp;<\/p>\n\n\n\n<p>source&nbsp;\/etc\/profile<\/p>\n\n\n\n<p>\u914d\u7f6e\u542f\u52a8\u811a\u672c\uff1a<\/p>\n\n\n\n<p># \u590d\u5236\u811a\u672c\u6587\u4ef6\u5230init.d\u76ee\u5f55\u4e0b&nbsp;<\/p>\n\n\n\n<p># cp \/usr\/local\/src\/redis-4.0.11\/utils\/redis_init_script \/etc\/init.d\/redis<\/p>\n\n\n\n<p>vi \/etc\/init.d\/redis<\/p>\n\n\n\n<p>\u4fee\u6539\u5982\u4e0b\u5185\u5bb9\uff1a<\/p>\n\n\n\n<p>EXEC=\/usr\/local\/redis\/bin\/redis-server<\/p>\n\n\n\n<p>CLIEXEC=\/usr\/local\/redis\/bin\/redis-cli<\/p>\n\n\n\n<p>CONF=&#8221;\/usr\/local\/redis\/conf\/redis.conf&#8221;<\/p>\n\n\n\n<p>$CLIEXEC -a &#8220;password&#8221; -p $REDISPORT shutdown<\/p>\n\n\n\n<p>#\u6b64\u5904passowrd\u5e94\u4e0e\u4e0a\u8ff0\u8bbe\u7f6e\u5bc6\u7801\u4fdd\u6301\u4e00\u81f4\u3002<\/p>\n\n\n\n<p>\u6ce8\uff1a\u82e5\u4fee\u6539\u4e86redis.conf\u6587\u4ef6\u4e2d\u7684bind\u5730\u5740\u4e4b\u540e\uff0c\u91cd\u542fredis\u51fa\u73b0Could not connect to Redis at 127.0.0.1:6379: Connection refused\u9519\u8bef\uff0c\u9700\u8981\u4fee\u6539\u811a\u672c(\u4f8b\u5982\/etc\/init.d\/redis\uff09\uff0c\u627e\u5230\u5982\u4e0b\u5b57\u7b26\u4e32$CLIEXE -p $REDISPORT shutdown\uff0c\u4fee\u6539\u4e3a$CLIEXEC -h ip -a &#8220;password&#8221; -p $REDISPORT shutdown\uff08\u5373\u6dfb\u52a0-h ip\uff0cip\u5e94\u4e0e\u4e0a\u8ff0bind\u5730\u5740\u4fdd\u6301\u4e00\u81f4\uff09<\/p>\n\n\n\n<p># chmod +x \/etc\/init.d\/redis<\/p>\n\n\n\n<p># chkconfig &#8211;add redis<\/p>\n\n\n\n<p># chkconfig &#8211;level 2345 redis on<\/p>\n\n\n\n<p># systemctl start redis #\u6216\u8005 \/etc\/init.d\/redis start<\/p>\n\n\n\n<p># systemctl stop redis #\u6216\u8005 \/etc\/init.d\/redis stop<\/p>\n\n\n\n<p><strong>\u9644\u5f551\uff1a\u65e5\u5fd7\u4e2d\u5b58\u5728\u544a\u8b66\u53ca\u89e3\u51b3<\/strong><\/p>\n\n\n\n<p><strong>\u544a\u8b661\uff1a<\/strong><strong><\/strong><\/p>\n\n\n\n<p>WARNING: The TCP backlog setting of 511 cannot be enforced because \/proc\/sys\/net\/core\/somaxconn is set to the lower value of 128.<\/p>\n\n\n\n<p><strong>\u89e3\u51b3\uff1a<\/strong><strong><\/strong><\/p>\n\n\n\n<p>\u4fee\u6539\/etc\/sysctl.conf\u6587\u4ef6\uff0c\u589e\u52a0\u4e00\u884c\uff1a<\/p>\n\n\n\n<p>net.core.somaxconn&nbsp;= 1024<\/p>\n\n\n\n<p>\u7136\u540e\u6267\u884c\u547d\u4ee4\uff1asysctl -p<\/p>\n\n\n\n<p><strong>\u544a\u8b662\uff1a<\/strong><strong><\/strong><\/p>\n\n\n\n<p>2865:M 01 Nov 17:36:36.055 # WARNING overcommit_memory is set to 0! Background save may fail<\/p>\n\n\n\n<p>&nbsp;under low memory condition. To fix this issue add &#8216;vm.overcommit_memory = 1&#8217; to \/etc\/sysctl.conf and then reboot or run the command &#8216;sysctl vm.overcommit_memory=1&#8217; for this to take effect.<\/p>\n\n\n\n<p><strong>\u89e3\u51b3\uff1a<\/strong><strong><\/strong><\/p>\n\n\n\n<p>\u4fee\u6539\/etc\/sysctl.conf\u6587\u4ef6\uff0c\u589e\u52a0\u4e00\u884c\uff1a<\/p>\n\n\n\n<p>vm.overcommit_memory = 1<\/p>\n\n\n\n<p>\u7136\u540e\u6267\u884c\u547d\u4ee4\uff1asysctl -p<\/p>\n\n\n\n<p><strong>\u544a\u8b663\uff1a<\/strong><strong><\/strong><\/p>\n\n\n\n<p>2865:M 01 Nov 17:36:36.055 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command &#8216;echo never &gt; \/sys\/kernel\/mm\/transparent_hugepage\/enabled&#8217; as root, and add it to your \/etc\/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.<\/p>\n\n\n\n<p><strong>\u89e3\u51b3\uff1a<\/strong><strong><\/strong><\/p>\n\n\n\n<p>Create following file:<\/p>\n\n\n\n<p>vi \/etc\/systemd\/system\/disable-thp.service<\/p>\n\n\n\n<p>and paste there following content:<\/p>\n\n\n\n<p>[Unit]<\/p>\n\n\n\n<p>Description=Disable Transparent Huge Pages (THP)<\/p>\n\n\n\n<p>[Service]<\/p>\n\n\n\n<p>Type=simple<\/p>\n\n\n\n<p>ExecStart=\/bin\/sh -c &#8220;echo &#8216;never&#8217; &gt; \/sys\/kernel\/mm\/transparent_hugepage\/enabled &amp;&amp; echo &#8216;never&#8217; &gt; \/sys\/kernel\/mm\/transparent_hugepage\/defrag&#8221;<\/p>\n\n\n\n<p>[Install]<\/p>\n\n\n\n<p>WantedBy=multi-user.target<\/p>\n\n\n\n<p>Save the file and reload SystemD daemon:<\/p>\n\n\n\n<p>systemctl daemon-reload<\/p>\n\n\n\n<p>you can start the script and enable it on boot level:<\/p>\n\n\n\n<p>systemctl start disable-thp<\/p>\n\n\n\n<p>systemctl enable disable-thp<\/p>\n\n\n\n<p><strong>\u9644\u5f552\uff1aRedis \u6570\u636e\u5907\u4efd\u4e0e\u6062\u590d<\/strong><\/p>\n\n\n\n<p>\u5907\u4efd\u6570\u636e\uff1a<\/p>\n\n\n\n<p>127.0.0.1:6379&gt; <strong>save<\/strong><\/p>\n\n\n\n<p>OK<\/p>\n\n\n\n<p>\u8be5\u547d\u4ee4\u5c06\u5728 redis \u5b89\u88c5\u76ee\u5f55\u4e2d\u521b\u5efadump.rdb\u6587\u4ef6\u3002<\/p>\n\n\n\n<p>\u53e6\u521b\u5efa redis \u5907\u4efd\u6587\u4ef6\u4e5f\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4&nbsp;<strong>BGSAVE<\/strong>\uff0c\u8be5\u547d\u4ee4\u5728\u540e\u53f0\u6267\u884c\u3002<\/p>\n\n\n\n<p>127.0.0.1:6379&gt; BGSAVE<\/p>\n\n\n\n<p>Background saving started<\/p>\n\n\n\n<p>\u6062\u590d\u6570\u636e\uff1a<\/p>\n\n\n\n<p>\u5982\u679c\u9700\u8981\u6062\u590d\u6570\u636e\uff0c\u53ea\u9700\u5c06\u5907\u4efd\u6587\u4ef6 (dump.rdb) \u79fb\u52a8\u5230 redis \u5b89\u88c5\u76ee\u5f55\u5e76\u542f\u52a8\u670d\u52a1\u5373\u53ef\u3002\u83b7\u53d6 redis \u76ee\u5f55\u53ef\u4ee5\u4f7f\u7528 CONFIG \u547d\u4ee4\uff0c\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n\n\n\n<p>redis 127.0.0.1:6379&gt; CONFIG GET dir<\/p>\n\n\n\n<p>1) &#8220;dir&#8221;<\/p>\n\n\n\n<p>2) &#8220;\/usr\/local\/redis\/bin&#8221;<\/p>\n\n\n\n<p>\u4ee5\u4e0a\u547d\u4ee4 CONFIG GET dir \u8f93\u51fa\u7684 redis \u5b89\u88c5\u76ee\u5f55\u4e3a \/usr\/local\/redis\/bin\u3002<\/p>\n\n\n\n<p><strong>\u9644\u5f553\uff1aRedis \u6027\u80fd\u6d4b\u8bd5<\/strong><\/p>\n\n\n\n<p>Redis \u6027\u80fd\u6d4b\u8bd5\u662f\u901a\u8fc7\u540c\u65f6\u6267\u884c\u591a\u4e2a\u547d\u4ee4\u5b9e\u73b0\u7684\u3002<\/p>\n\n\n\n<p>redis-benchmark [option] [option value]<\/p>\n\n\n\n<p>\u4ee5\u4e0b\u5b9e\u4f8b\u540c\u65f6\u6267\u884c 10000 \u4e2a\u8bf7\u6c42\u6765\u68c0\u6d4b\u6027\u80fd\uff1a<\/p>\n\n\n\n<p>$ redis-benchmark -n 10000 &nbsp;-q<\/p>\n\n\n\n<p>\u4ee5\u4e0b\u5b9e\u4f8b\u4f7f\u7528\u4e86\u591a\u4e2a\u53c2\u6570\u6765\u6d4b\u8bd5 redis \u6027\u80fd\uff1a<\/p>\n\n\n\n<p>$ redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q<\/p>\n\n\n\n<p>SET: 146198.83 requests per second<\/p>\n\n\n\n<p>LPUSH: 145560.41 requests per second<\/p>\n\n\n\n<p>\u4ee5\u4e0a\u5b9e\u4f8b\u4e2d\u4e3b\u673a\u4e3a 127.0.0.1\uff0c\u7aef\u53e3\u53f7\u4e3a 6379\uff0c\u6267\u884c\u7684\u547d\u4ee4\u4e3a set,lpush\uff0c\u8bf7\u6c42\u6570\u4e3a 10000\uff0c\u901a\u8fc7 -q \u53c2\u6570\u8ba9\u7ed3\u679c\u53ea\u663e\u793a\u6bcf\u79d2\u6267\u884c\u7684\u8bf7\u6c42\u6570\u3002<\/p>\n\n\n\n<p><strong>\u9644\u5f554\uff1aRedis \u5ba2\u6237\u7aef\u8fde\u63a5<\/strong><\/p>\n\n\n\n<p>\u6700\u5927\u8fde\u63a5\u6570\uff1amaxclients \u7684\u9ed8\u8ba4\u503c\u662f 10000\uff0c\u53ef\u4ee5\u5728 redis.conf \u4e2d\u5bf9\u8fd9\u4e2a\u503c\u8fdb\u884c\u4fee\u6539\u3002<\/p>\n\n\n\n<p>config get maxclients<\/p>\n\n\n\n<p>1) &#8220;maxclients&#8221;<\/p>\n\n\n\n<p>2) &#8220;10000&#8221;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u73af\u5883\uff1a CentOS7.2 redis version\uff1a4.0.11 \u5b89\u88c5\u6b65\u9aa4\uff1a # tar zxf redi &hellip; <a href=\"http:\/\/www.betterit360.com\/?p=79\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">\u201c\u6e90\u7801\u7f16\u8bd1\u5b89\u88c5Redis\u201d<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/www.betterit360.com\/index.php?rest_route=\/wp\/v2\/posts\/79"}],"collection":[{"href":"http:\/\/www.betterit360.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.betterit360.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.betterit360.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.betterit360.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=79"}],"version-history":[{"count":0,"href":"http:\/\/www.betterit360.com\/index.php?rest_route=\/wp\/v2\/posts\/79\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.betterit360.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=79"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.betterit360.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=79"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.betterit360.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=79"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}