{"id":20892,"date":"2021-12-11T11:36:11","date_gmt":"2021-12-11T03:36:11","guid":{"rendered":"https:\/\/aqzt.com\/20892.html"},"modified":"2021-12-11T11:36:11","modified_gmt":"2021-12-11T03:36:11","slug":"redis%e6%95%b0%e6%8d%ae%e5%ba%93","status":"publish","type":"post","link":"https:\/\/aqzt.com\/20892.html","title":{"rendered":"redis\u6570\u636e\u5e93"},"content":{"rendered":"<h3>redis\u6570\u636e\u5e93<\/h3>\n<ul>\n<li>\n<p>\u4e00\uff1anosql\u4ecb\u7ecd<\/p>\n<\/p>\n<\/li>\n<li>\n<p>\u4e8c\uff1aredis\u4ecb\u7ecd<\/p>\n<\/li>\n<li>\n<p>2.1 Redis\u7279\u6027<\/p>\n<ul>\n<li>2.2 Redis \u4f18\u52bf<\/li>\n<li>2.3 redis\u5e94\u7528\u573a\u666f<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u4e09\uff1aredis\u5b89\u88c5\u914d\u7f6e<\/p>\n<\/li>\n<li>\n<p>3.1 redis\u5b89\u88c5<\/p>\n<ul>\n<li>3.2 redis\u914d\u7f6e<\/li>\n<li>3.3 redis\u542f\u52a8<\/li>\n<li>3.4 \u4f7f\u7528\u5ba2\u6237\u7aef\u8fde\u63a5redis<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u56db\uff1aredis\u6570\u636e\u7c7b\u578b<\/p>\n<\/li>\n<li>\n<p>4.1 string\u7c7b\u578b<\/p>\n<ul>\n<li>4.2 \u952e\u547d\u4ee4<\/li>\n<li>4.3 hash\u7c7b\u578b<\/li>\n<li>4.4 list\u7c7b\u578b<\/li>\n<li>4.5 set\u7c7b\u578b<\/li>\n<li>4.6 zset\u7c7b\u578b<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u4e94\uff1aredis\u4e3b\u4ece<\/p>\n<\/li>\n<li>\n<p>5.1 \u73af\u5883\u51c6\u5907<\/p>\n<ul>\n<li>5.2 \u914d\u7f6e\u4e3bredis<\/li>\n<li>5.3 \u914d\u7f6e\u4eceredis<\/li>\n<li>5.4 \u67e5\u770b\u4e3b\u4ece\u5173\u7cfb<\/li>\n<li>5.5 \u6570\u636e\u64cd\u4f5c<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u516d\uff1aredis\u5e38\u7528\u64cd\u4f5c\u603b\u7ed3<\/p>\n<\/li>\n<li>\n<p>6.1 \u8bbe\u7f6e\u952e\u503c<\/p>\n<ul>\n<li>6.2 \u8bbe\u7f6e\u952e\u503c\u5bf9\u7684\u8fc7\u671f\u65f6\u95f4<\/li>\n<li>6.3 hash\uff0c\u54c8\u5e0c\u64cd\u4f5c<\/li>\n<li>6.4 \u5217\u8868(list)\u64cd\u4f5c \uff08\u53ef\u4ee5\u5b58\u50a8\u91cd\u590d\u503c\uff09<\/li>\n<li>6.5 set\u96c6\u5408\uff08\u96c6\u5408\u6ca1\u6709\u91cd\u590d\u503c\uff09\u7684\u64cd\u4f5c<\/li>\n<li>6.6 \u4e8b\u52a1\u64cd\u4f5c<\/li>\n<li>6.7 \u53d1\u5e03\/\u8ba2\u9605\u64cd\u4f5c<\/li>\n<li>6.8 \u6301\u4e45\u5316<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u4e03\uff1apython\u4e0eredis\u4ea4\u4e92<\/p>\n<\/li>\n<li>\n<p>7.1 python\u5b89\u88c5redis<\/p>\n<ul>\n<li>7.2 StrictRedis\u5bf9\u8c61\u2f45\u6cd5<\/li>\n<li>7.3 \u5b57\u7b26\u4e32\u7684\u64cd\u4f5c<\/li>\n<li>7.4 \u5217\u8868\u7684\u64cd\u4f5c<\/li>\n<li>7.5 \u96c6\u5408\u7684\u64cd\u4f5c<\/li>\n<li>7.6 \u54c8\u5e0c(hash)\u7684\u64cd\u4f5c<\/li>\n<li>7.7 \u4e8b\u52a1(\u7ba1\u9053)\u64cd\u4f5c<\/li>\n<li>7.8 \u53d1\u5e03\u4e0e\u8ba2\u9605<\/li>\n<li>7.9 django-redis<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h1>\u4e00\uff1anosql\u4ecb\u7ecd<\/h1>\n<p>NoSQL\uff1a\u4e00\u7c7b\u65b0\u51fa\u73b0\u7684\u6570\u636e\u5e93(not only sql)\uff0c\u5b83\u7684\u7279\u70b9\uff1a<\/p>\n<ol>\n<li>\u4e0d\u652f\u6301SQL\u8bed\u6cd5<\/li>\n<li>\u5b58\u50a8\u7ed3\u6784\u8ddf\u4f20\u7edf\u5173\u7cfb\u578b\u6570\u636e\u5e93\u4e2d\u7684\u90a3\u79cd\u5173\u7cfb\u8868\u5b8c\u5168\u4e0d\u540c\uff0cnosql\u4e2d\u5b58\u50a8\u7684\u6570\u636e\u90fd\u662fKV\u5f62\u5f0f<\/li>\n<li>NoSQL\u7684\u4e16\u754c\u4e2d\u6ca1\u6709\u4e00\u79cd\u901a\u7528\u7684\u8bed\u8a00\uff0c\u6bcf\u79cdnosql\u6570\u636e\u5e93\u90fd\u6709\u81ea\u5df1\u7684api\u548c\u8bed\u6cd5\uff0c\u4ee5\u53ca\u64c5\u957f\u7684\u4e1a\u52a1\u573a\u666f<\/li>\n<li>NoSQL\u4e2d\u7684\u4ea7\u54c1\u79cd\u7c7b\u76f8\u5f53\u591a\uff1a<\/li>\n<\/ol>\n<p>Mongodb<br \/>\n<!-- -->Redis<br \/>\n<!-- -->Hbase hadoop<br \/>\n<!-- -->Cassandra hadoop<\/p>\n<p>NoSQL\u548cSQL\u6570\u636e\u5e93\u7684\u6bd4\u8f83\uff1a<\/p>\n<ol>\n<li>\u9002\u7528\u573a\u666f\u4e0d\u540c\uff1asql\u6570\u636e\u5e93\u9002\u5408\u7528\u4e8e\u5173\u7cfb\u7279\u522b\u590d\u6742\u7684\u6570\u636e\u67e5\u8be2\u573a\u666f\uff0cnosql\u53cd\u4e4b<\/li>\n<li>\u201c\u4e8b\u52a1\u201d\u7279\u6027\u7684\u652f\u6301\uff1asql\u5bf9\u4e8b\u52a1\u7684\u652f\u6301\u975e\u5e38\u5b8c\u5584\uff0c\u800cnosql\u57fa\u672c\u4e0d\u652f\u6301\u4e8b\u52a1<\/li>\n<li>\u4e24\u8005\u5728\u4e0d\u65ad\u5730\u53d6\u957f\u8865\u77ed\uff0c\u5448\u73b0\u878d\u5408\u8d8b\u52bf<\/li>\n<\/ol>\n<h1>\u4e8c\uff1aredis\u4ecb\u7ecd<\/h1>\n<p>Redis\u5b98\u65b9\u7f51\u7ad9\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/><\/div><\/td><td><div class=\"text codecolorer\">1\u5b98\u7f51\uff1ahttps:\/\/redis.io\/<br \/>\n2\u4e2d\u6587\u5b98\u7f51\uff1ahttp:\/\/redis.cn\/<br \/>\n3<br \/>\n4<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>Redis\u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u4f7f\u7528ANSI C\u8bed\u8a00\u7f16\u5199\u3001\u652f\u6301\u7f51\u7edc\u3001\u53ef\u57fa\u4e8e\u5185\u5b58\u4ea6\u53ef\u6301\u4e45\u5316\u7684\u65e5\u5fd7\u578b\u3001Key-Value\u6570\u636e\u5e93\uff0c\u5e76\u63d0\u4f9b\u591a\u79cd\u8bed\u8a00\u7684API\u3002\u4ece2010\u5e743\u670815\u65e5\u8d77\uff0cRedis\u7684\u5f00\u53d1\u5de5\u4f5c\u7531VMware\u4e3b\u6301\u3002\u4ece2013\u5e745\u6708\u5f00\u59cb\uff0cRedis\u7684\u5f00\u53d1\u7531Pivotal\u8d5e\u52a9\u3002<br \/>\n<!-- -->Redis\u662f NoSQL\u6280\u672f\u9635\u8425\u4e2d\u7684\u4e00\u5458\uff0c\u5b83\u901a\u8fc7\u591a\u79cd\u952e\u503c\u6570\u636e\u7c7b\u578b\u6765\u9002\u5e94\u4e0d\u540c\u573a\u666f\u4e0b\u7684\u5b58\u50a8\u9700\u6c42\uff0c\u501f\u52a9\u4e00\u4e9b\u9ad8\u5c42\u7ea7\u7684\u63a5\u53e3\u4f7f\u7528\u5176\u53ef\u4ee5\u80dc\u4efb\uff0c\u5982\u7f13\u5b58\u3001\u961f\u5217\u7cfb\u7edf\u7684\u4e0d\u540c\u89d2\u8272<\/p>\n<h2>2.1 Redis\u7279\u6027<\/h2>\n<p>Redis \u4e0e\u5176\u4ed6 key &#8211; value \u7f13\u5b58\u4ea7\u54c1\u6709\u4ee5\u4e0b\u4e09\u4e2a\u7279\u70b9\uff1a<\/p>\n<ol>\n<li>Redis\u652f\u6301\u6570\u636e\u7684\u6301\u4e45\u5316\uff0c\u53ef\u4ee5\u5c06\u5185\u5b58\u4e2d\u7684\u6570\u636e\u4fdd\u5b58\u5728\u78c1\u76d8\u4e2d\uff0c\u91cd\u542f\u7684\u65f6\u5019\u53ef\u4ee5\u518d\u6b21\u52a0\u8f7d\u8fdb\u884c\u4f7f\u7528\u3002<\/li>\n<li>Redis\u4e0d\u4ec5\u4ec5\u652f\u6301\u7b80\u5355\u7684key-value\u7c7b\u578b\u7684\u6570\u636e\uff0c\u540c\u65f6\u8fd8\u63d0\u4f9blist\uff0cset\uff0czset\uff0chash\u7b49\u6570\u636e\u7ed3\u6784\u7684\u5b58\u50a8\u3002<\/li>\n<li>Redis\u652f\u6301\u6570\u636e\u7684\u5907\u4efd\uff0c\u5373master-slave\u6a21\u5f0f\u7684\u6570\u636e\u5907\u4efd\u3002<\/li>\n<\/ol>\n<h2>2.2 Redis \u4f18\u52bf<\/h2>\n<ol>\n<li>\u6027\u80fd\u6781\u9ad8 \u2013 Redis\u80fd\u8bfb\u7684\u901f\u5ea6\u662f110000\u6b21\/s,\u5199\u7684\u901f\u5ea6\u662f81000\u6b21\/s \u3002<\/li>\n<li>\u4e30\u5bcc\u7684\u6570\u636e\u7c7b\u578b \u2013 Redis\u652f\u6301\u4e8c\u8fdb\u5236\u6848\u4f8b\u7684 Strings, Lists, Hashes, Sets \u53ca Ordered Sets \u6570\u636e\u7c7b\u578b\u64cd\u4f5c\u3002<\/li>\n<li>\u539f\u5b50 \u2013 Redis\u7684\u6240\u6709\u64cd\u4f5c\u90fd\u662f\u539f\u5b50\u6027\u7684\uff0c\u540c\u65f6Redis\u8fd8\u652f\u6301\u5bf9\u51e0\u4e2a\u64cd\u4f5c\u5168\u5e76\u540e\u7684\u539f\u5b50\u6027\u6267\u884c\u3002<\/li>\n<li>\u4e30\u5bcc\u7684\u7279\u6027 \u2013 Redis\u8fd8\u652f\u6301 publish\/subscribe, \u901a\u77e5, key \u8fc7\u671f\u7b49\u7b49\u7279\u6027\u3002<\/li>\n<\/ol>\n<h2>2.3 redis\u5e94\u7528\u573a\u666f<\/h2>\n<ol>\n<li>\u7528\u6765\u505a\u7f13\u5b58(ehcache\/memcached)\u2014\u2014redis\u7684\u6240\u6709\u6570\u636e\u662f\u653e\u5728\u5185\u5b58\u4e2d\u7684\uff08\u5185\u5b58\u6570\u636e\u5e93\uff09<\/li>\n<li>\u53ef\u4ee5\u5728\u67d0\u4e9b\u7279\u5b9a\u5e94\u7528\u573a\u666f\u4e0b\u66ff\u4ee3\u4f20\u7edf\u6570\u636e\u5e93\u2014\u2014\u6bd4\u5982\u793e\u4ea4\u7c7b\u7684\u5e94\u7528<\/li>\n<li>\u5728\u4e00\u4e9b\u5927\u578b\u7cfb\u7edf\u4e2d\uff0c\u5de7\u5999\u5730\u5b9e\u73b0\u4e00\u4e9b\u7279\u5b9a\u7684\u529f\u80fd\uff1asession\u5171\u4eab\u3001\u8d2d\u7269\u8f66<\/li>\n<li>\u53ea\u8981\u4f60\u6709\u4e30\u5bcc\u7684\u60f3\u8c61\u529b\uff0credis\u53ef\u4ee5\u7528\u5728\u53ef\u4ee5\u7ed9\u4f60\u65e0\u9650\u7684\u60ca\u559c\u2026\u2026.<\/li>\n<\/ol>\n<h1>\u4e09\uff1aredis\u5b89\u88c5\u914d\u7f6e<\/h1>\n<h2>3.1 redis\u5b89\u88c5<\/h2>\n<p>\u73af\u5883\uff1aubuntu16.04<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/><\/div><\/td><td><div class=\"text codecolorer\">1wget http:\/\/download.redis.io\/releases\/redis-3.2.8.tar.gz&nbsp; # \u7a33\u5b9a\u7248\u672c3.2<br \/>\n2tar -zxvf redis-3.2.8.tar.gz<br \/>\n3cd redis-3.2.8\/<br \/>\n4mkdir \/application\/<br \/>\n5make<br \/>\n6make PREFIX=\/application\/redis-3.2.8 install<br \/>\n7mkdir \/application\/redis-3.2.8\/conf<br \/>\n8cp redis.conf \/application\/redis-3.2.8\/conf\/<br \/>\n9cd \/application\/<br \/>\n10ln -s redis-3.2.8 redis<br \/>\n11<br \/>\n12<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u5b89\u88c5\u5b8c\u6210\u540e\u67e5\u770bredis\u7684\u6838\u5fc3\u6587\u4ef6\u6709\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/><\/div><\/td><td><div class=\"text codecolorer\">1root@ubuntu:\/application\/redis# ll bin<br \/>\n2total 16292<br \/>\n3-rwxr-xr-x 1 root root 2683048 Feb 26 14:25 redis-benchmark*<br \/>\n4-rwxr-xr-x 1 root root &nbsp; 28856 Feb 26 14:25 redis-check-aof*<br \/>\n5-rwxr-xr-x 1 root root 5548408 Feb 26 14:25 redis-check-rdb*<br \/>\n6-rwxr-xr-x 1 root root 2859520 Feb 26 14:25 redis-cli*<br \/>\n7lrwxrwxrwx 1 root root &nbsp; &nbsp; &nbsp;12 Feb 26 14:25 redis-sentinel -&amp;gt; redis-server*<br \/>\n8-rwxr-xr-x 1 root root 5548408 Feb 26 14:25 redis-server*<br \/>\n9<br \/>\n10<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>redis-server\uff1a redis\u670d\u52a1\u5668<br \/>\n<!-- -->redis-cli\uff1a redis\u547d\u4ee4\u884c\u5ba2\u6237\u7aef<br \/>\n<!-- -->redis-benchmark\uff1a redis\u6027\u80fd\u6d4b\u8bd5\u5de5\u5177<br \/>\n<!-- -->redis-check-aof\uff1a AOF\u6587\u4ef6\u4fee\u590d\u5de5\u5177<br \/>\n<!-- -->redis-check-rdb\uff1a RDB\u6587\u4ef6\u68c0\u7d22\u5de5\u5177<\/p>\n<h2>3.2 redis\u914d\u7f6e<\/h2>\n<p>\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/><\/div><\/td><td><div class=\"text codecolorer\">1echo &amp;#x27;export PATH=\/application\/redis\/bin:$PATH&amp;#x27; &amp;gt;&amp;gt;\/etc\/profile<br \/>\n2source \/etc\/profile<br \/>\n3root@ubuntu:\/application# redis-server --version<br \/>\n4Redis server v=3.2.8 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=dea7c07f75756992<br \/>\n5<br \/>\n6<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u5b8c\u6210\u540e\u5373\u53ef\u542f\u52a8redis\u670d\u52a1\uff0c\u4f46\u542f\u52a8\u540e\u4f1a\u51fa\u73b0\u51e0\u6761\u8b66\u544a\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/><\/div><\/td><td><div class=\"text codecolorer\">1# WARNING: The TCP backlog setting of 511 cannot be enforced because \/proc\/sys\/net\/core\/somaxconn is set to the lower value of 128.<br \/>\n2# Server started, Redis version 3.2.8<br \/>\n3# WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add &amp;#x27;vm.overcommit_memory = 1&amp;#x27; to \/etc\/sysctl.conf and then reboot or run the command &amp;#x27;sysctl vm.overcommit_memory=1&amp;#x27; for this to take effect.<br \/>\n4# 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 &amp;#x27;echo never &amp;gt; \/sys\/kernel\/mm\/transparent_hugepage\/enabled&amp;#x27; 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.<br \/>\n5<br \/>\n6<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u5982\u8981\u6d88\u9664\u8fd9\u4e9b\u8b66\u544a\u53ef\u4f7f\u7528\u4ee5\u4e0b\u8bbe\u7f6e\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/><\/div><\/td><td><div class=\"text codecolorer\">1# \u5141\u8bb8\u8d85\u91cf\u4f7f\u7528\u5185\u5b58<br \/>\n2sysctl vm.overcommit_memory=1<br \/>\n3echo &amp;#x27;vm.overcommit_memory = 1&amp;#x27; &amp;gt;&amp;gt;\/etc\/sysctl.conf<br \/>\n4sysctl -p<br \/>\n5<br \/>\n6<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/><\/div><\/td><td><div class=\"text codecolorer\">1echo 511 &amp;gt; \/proc\/sys\/net\/core\/somaxconn<br \/>\n2sed -i &amp;#x27;\/exit\/i\\echo 511 &amp;gt; \/proc\/sys\/net\/core\/somaxconn&amp;#x27; \/etc\/rc.local<br \/>\n3echo never &amp;gt; \/sys\/kernel\/mm\/transparent_hugepage\/enabled<br \/>\n4sed -i &amp;#x27;\/exit\/i\\echo never &amp;gt; \/sys\/kernel\/mm\/transparent_hugepage\/enabled&amp;#x27; \/etc\/rc.local<br \/>\n5<br \/>\n6<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>redis.conf\u914d\u7f6e\u6587\u4ef6\u6838\u5fc3\u914d\u7f6e\u9879\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/><\/div><\/td><td><div class=\"text codecolorer\">1bind 127.0.0.1 &nbsp; &nbsp; # \u7ed1\u5b9aip\uff1a\u5982\u679c\u9700\u8981\u8fdc\u7a0b\u8bbf\u95ee\uff0c\u53ef\u5c06\u6b64\u2f8f\u6ce8\u91ca\uff0c\u6216\u7ed1\u5b9a\u2f00\u4e2a\u771f\u5b9eip<br \/>\n2port 6379&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # \u7aef\u2f1d\uff0c\u9ed8\u8ba4\u4e3a6379<br \/>\n3daemonize yes<br \/>\n4# \u662f\u5426\u4ee5\u5b88\u62a4\u8fdb\u7a0b\u8fd0\u2f8f<br \/>\n5# \u5982\u679c\u4ee5\u5b88\u62a4\u8fdb\u7a0b\u8fd0\u2f8f\uff0c\u5219\u4e0d\u4f1a\u5728\u547d\u4ee4\u2f8f\u963b\u585e\uff0c\u7c7b\u4f3c\u4e8e\u670d\u52a1<br \/>\n6# \u5982\u679c\u4ee5\u2fae\u5b88\u62a4\u8fdb\u7a0b\u8fd0\u2f8f\uff0c\u5219\u5f53\u524d\u7ec8\u7aef\u88ab\u963b\u585e<br \/>\n7# \u8bbe\u7f6e\u4e3ayes\u8868\u793a\u5b88\u62a4\u8fdb\u7a0b\uff0c\u8bbe\u7f6e\u4e3ano\u8868\u793a\u2fae\u5b88\u62a4\u8fdb\u7a0b<br \/>\n8# \u63a8\u8350\u8bbe\u7f6e\u4e3ayes<br \/>\n9dbfilename dump.rdb&nbsp; &nbsp; &nbsp; &nbsp; # \u6570\u636e\u2f42\u4ef6<br \/>\n10dir \/var\/lib\/redis&nbsp; &nbsp; &nbsp; &nbsp; # \u6570\u636e\u2f42\u4ef6\u5b58\u50a8\u8def\u5f84<br \/>\n11logfile \/var\/log\/redis\/redis-server.log &nbsp; &nbsp; &nbsp; # \u2f47\u5fd7\u2f42\u4ef6<br \/>\n12database 16 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # \u6570\u636e\u5e93\uff0c\u9ed8\u8ba4\u670916\u4e2a<br \/>\n13slaveof &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # \u4e3b\u4ece\u590d\u5236\uff0c\u7c7b\u4f3c\u4e8e\u53cc\u673a\u5907\u4efd<br \/>\n14<br \/>\n15<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>3.3 redis\u542f\u52a8<\/h2>\n<p>1\uff1a\u547d\u4ee4\u884c\u542f\u52a8<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1redis-server \/application\/redis\/conf\/redis.conf &amp;amp;<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>2\uff1asupervisor\u63a5\u7ba1redis<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1apt install -y supervisor<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u5728\/etc\/supervisor\/conf.d\u76ee\u5f55\u4e0b\u65b0\u5efaredis-6379.conf\u914d\u7f6e\u6587\u4ef6\uff08\u6587\u4ef6\u540d\u81ea\u53d6\uff09<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/><\/div><\/td><td><div class=\"text codecolorer\">1root@ubuntu:\/etc\/supervisor\/conf.d# cat redis-6379.conf<br \/>\n2[program:redis]<br \/>\n3directory = \/application\/redis\/<br \/>\n4command=\/application\/redis\/bin\/redis-server conf\/redis.conf<br \/>\n5user=root<br \/>\n6autostart=true<br \/>\n7autorestart=true<br \/>\n8redirect_stderr=true<br \/>\n9startsecs=0<br \/>\n10stopsignal=KILL<br \/>\n11stopasgroup=true<br \/>\n12stdout_logfile_maxbytes=20MB<br \/>\n13stdout_logfile_backups=20<br \/>\n14stdout_logfile=\/var\/log\/supervisor\/%(program_name)s.log<br \/>\n15stderr_logfile=\/var\/log\/supervisor\/%(program_name)s.log<br \/>\n16<br \/>\n17<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u7136\u540e\u6267\u884csupervisor\u547d\u4ee4\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/><\/div><\/td><td><div class=\"text codecolorer\">1root@ubuntu:\/etc\/supervisor\/conf.d# supervisorctl update redis<br \/>\n2# \u7b2c\u4e00\u6b21\u521a\u521b\u5efa\u914d\u7f6e\u6587\u4ef6\uff0c\u6240\u4ee5\u4f7f\u7528update\uff0c \u4ee5\u540e\u4f7f\u7528supervisorctl restart|start|stop redis\u7ba1\u7406<br \/>\n3<br \/>\n4<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u67e5\u770b\u65e5\u5fd7\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1root@ubuntu:\/etc\/supervisor\/conf.d# tail -f \/var\/log\/supervisor\/redis.log<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>3.4 \u4f7f\u7528\u5ba2\u6237\u7aef\u8fde\u63a5redis<\/h2>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/><\/div><\/td><td><div class=\"text codecolorer\">1root@ubuntu:~# redis-cli<br \/>\n2127.0.0.1:6379&amp;gt; ping<br \/>\n3PONG &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # \u8fde\u63a5\u6210\u529f\uff0c\u53ef\u4ee5\u76f8\u4e92\u901a\u4fe1<br \/>\n4127.0.0.1:6379&amp;gt; select 10 &nbsp; &nbsp; &nbsp; # \u9ed8\u8ba4\u8fde\u63a5\u7684\u662f0\u53f7\u6570\u636e\u5e93\uff0c\u4f7f\u7528select\u9009\u62e9\u51e0\u53f7\u6570\u636e\u5e93<br \/>\n5OK<br \/>\n6127.0.0.1:6379[10]&amp;gt;<br \/>\n7<br \/>\n8<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h1>\u56db\uff1aredis\u6570\u636e\u7c7b\u578b<\/h1>\n<p>redis\u662fkey-value\u7684\u6570\u636e\u7ed3\u6784\uff0c\u6bcf\u6761\u6570\u636e\u90fd\u662f\u2f00\u4e2a\u952e\u503c\u5bf9\uff0c\u952e\u7684\u7c7b\u578b\u662f\u5b57\u7b26\u4e32<br \/>\n<!-- -->\u6ce8\u610f\uff1a\u952e\u4e0d\u80fd\u91cd\u590d<br \/>\n<!-- -->\u503c\u7684\u7c7b\u578b\u5206\u4e3a\u4e94\u79cd\uff1a<\/p>\n<ol>\n<li>\u5b57\u7b26\u4e32string<\/li>\n<li>\u54c8\u5e0chash<\/li>\n<li>\u5217\u8868list<\/li>\n<li>\u96c6\u5408set<\/li>\n<li>\u6709\u5e8f\u96c6\u5408zset<\/li>\n<\/ol>\n<h2>4.1 string\u7c7b\u578b<\/h2>\n<p>\u5b57\u7b26\u4e32\u7c7b\u578b\u662fRedis\u4e2d\u6700\u4e3a\u57fa\u7840\u7684\u6570\u636e\u5b58\u50a8\u7c7b\u578b\uff0c\u5b83\u5728Redis\u4e2d\u662f\u4e8c\u8fdb\u5236\u5b89\u5168\u7684\uff0c\u8fd9\u4fbf\u610f\u5473\u7740\u8be5\u7c7b\u578b\u53ef\u4ee5\u63a5\u53d7\u4efb\u4f55\u683c\u5f0f\u7684\u6570\u636e\uff0c\u5982JPEG\u56fe\u50cf\u6570\u636e\u6216Json\u5bf9\u8c61\u63cf\u8ff0\u4fe1\u606f\u7b49\u3002\u5728Redis\u4e2d\u5b57\u7b26\u4e32\u7c7b\u578b\u7684Value\u6700\u591a\u53ef\u4ee5\u5bb9\u7eb3\u7684\u6570\u636e\u957f\u5ea6\u662f512M\u3002<\/p>\n<p>1\uff1a\u4fdd\u5b58<br \/>\n<!-- -->\u5982\u679c\u8bbe\u7f6e\u7684\u952e\u4e0d\u5b58\u5728\u5219\u4e3a\u6dfb\u52a0\uff0c\u5982\u679c\u8bbe\u7f6e\u7684\u952e\u5df2\u7ecf\u5b58\u5728\u5219\u4fee\u6539<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1set key value<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u8bbe\u7f6e\u952e\u4e3aname\u503c\u4e3aginvip\u7684\u6570\u636e<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1set name ginvip<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u8bbe\u7f6e\u952e\u503c\u53ca\u8fc7\u671f\u65f6\u95f4\uff0c\u4ee5\u79d2\u4e3a\u5355\u4f4d<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1setex key seconds value<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u8bbe\u7f6e\u952e\u4e3aaa\u503c\u4e3aaa\u8fc7\u671f\u65f6\u95f4\u4e3a3\u79d2\u7684\u6570\u636e<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1setex aa 3 aa<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u8bbe\u7f6e\u591a\u4e2a\u952e\u503c<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1mset key1 value1 key2 value2 ...<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u8bbe\u7f6e\u952e\u4e3a\u2019a1\u2019\u503c\u4e3a\u2019python\u2019\u3001\u952e\u4e3a\u2019a2\u2019\u503c\u4e3a\u2019java\u2019\u3001\u952e\u4e3a\u2019a3\u2019\u503c\u4e3a\u2019c\u2019<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1mset a1 python a2 java a3 c<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u8ffd\u52a0\u503c<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1append key value<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u5411\u952e\u4e3aa1\u4e2d\u8ffd\u52a0\u503c\u2019 haha\u2019<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1append &amp;#x27;a1&amp;#x27; &amp;#x27;haha&amp;#x27;<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>2\uff1a\u83b7\u53d6<br \/>\n<!-- -->\u83b7\u53d6\uff1a\u6839\u636e\u952e\u83b7\u53d6\u503c\uff0c\u5982\u679c\u4e0d\u5b58\u5728\u6b64\u952e\u5219\u8fd4\u56denil<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1get key<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b5\uff1a\u83b7\u53d6\u952e\u2019name\u2019\u7684\u503c<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1get &amp;#x27;name&amp;#x27;<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u6839\u636e\u591a\u4e2a\u952e\u83b7\u53d6\u591a\u4e2a\u503c<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1mget key1 key2 ...<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b6\uff1a\u83b7\u53d6\u952ea1\u3001a2\u3001a3\u2019\u7684\u503c<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1mget a1 a2 a3<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>4.2 \u952e\u547d\u4ee4<\/h2>\n<p>\u67e5\u627e\u952e\uff0c\u53c2\u6570\u2f40\u6301\u6b63\u5219\u8868\u8fbe\u5f0f\uff1akeys pattern<br \/>\n<!-- -->\u4f8b1\uff1a\u67e5\u770b\u6240\u6709\u952e<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/><\/div><\/td><td><div class=\"text codecolorer\">1127.0.0.1:6379[10]&amp;gt; keys *<br \/>\n21) &amp;quot;name&amp;quot;<br \/>\n3<br \/>\n4<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b2\uff1a\u67e5\u770b\u540d\u79f0\u4e2d\u5305\u542ba\u7684\u952e<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1keys &amp;#x27;a*&amp;#x27;<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u5224\u65ad\u952e\u662f\u5426\u5b58\u5728\uff0c\u5982\u679c\u5b58\u5728\u8fd4\u56de1\uff0c\u4e0d\u5b58\u5728\u8fd4\u56de0<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1exists key1<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b3\uff1a\u5224\u65ad\u952ea1\u662f\u5426\u5b58\u5728<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1exists a1<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u67e5\u770b\u952e\u5bf9\u5e94\u7684value\u7684\u7c7b\u578b<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1type key<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b4\uff1a\u67e5\u770b\u952ea1\u7684\u503c\u7c7b\u578b\uff0c\u4e3aredis\u2f40\u6301\u7684\u4e94\u79cd\u7c7b\u578b\u4e2d\u7684\u2f00\u79cd<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1type a1<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u5220\u9664\u952e\u53ca\u5bf9\u5e94\u7684\u503c<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1del key1 key2 ...<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b5\uff1a\u5220\u9664\u952ea2\u3001a3<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1del a2 a3<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u8bbe\u7f6e\u8fc7\u671f\u65f6\u95f4\uff0c\u4ee5\u79d2\u4e3a\u5355\u4f4d<br \/>\n<!-- -->\u5982\u679c\u6ca1\u6709\u6307\u5b9a\u8fc7\u671f\u65f6\u95f4\u5219\u2f00\u76f4\u5b58\u5728\uff0c\u76f4\u5230\u4f7f\u2f64DEL\u79fb\u9664<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1expire key seconds<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b6\uff1a\u8bbe\u7f6e\u952e\u2019a1\u2019\u7684\u8fc7\u671f\u65f6\u95f4\u4e3a3\u79d2<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1expire &amp;#x27;a1&amp;#x27; 3<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u67e5\u770b\u6709\u6548\u65f6\u95f4\uff0c\u4ee5\u79d2\u4e3a\u5355\u4f4d<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1ttl key<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b7\uff1a\u67e5\u770b\u952e\u2019bb\u2019\u7684\u6709\u6548\u65f6\u95f4<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1ttl bb<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>4.3 hash\u7c7b\u578b<\/h2>\n<p>hash\u2f64\u4e8e\u5b58\u50a8\u5bf9\u8c61\uff0c\u5bf9\u8c61\u7684\u7ed3\u6784\u4e3a\u5c5e\u6027\u3001\u503c\uff0c\u503c\u7684\u7c7b\u578b\u4e3astring<\/p>\n<p>1\uff1a\u589e\u52a0\u3001\u4fee\u6539<br \/>\n<!-- -->\u8bbe\u7f6e\u5355\u4e2a\u5c5e\u6027<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1hset key field value<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b1\uff1a\u8bbe\u7f6e\u952e user\u7684\u5c5e\u6027name\u4e3aitheima<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1hset user name itheima<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u8bbe\u7f6e\u591a\u4e2a\u5c5e\u6027<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1hmset key field1 value1 field2 value2 ...<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b2\uff1a\u8bbe\u7f6e\u952eu2\u7684\u5c5e\u6027name\u4e3abruce\u3001\u5c5e\u6027age\u4e3a11<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1hmset u2 name bruce age 11<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>2\uff1a\u83b7\u53d6<br \/>\n<!-- -->\u83b7\u53d6\u6307\u5b9a\u952e\u6240\u6709\u7684\u5c5e\u6027<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1hkeys key<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b3\uff1a\u83b7\u53d6\u952eu2\u7684\u6240\u6709\u5c5e\u6027<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1hkeys u2<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u83b7\u53d6\u2f00\u4e2a\u5c5e\u6027\u7684\u503c<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1hget key field<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b4\uff1a\u83b7\u53d6\u952eu2\u5c5e\u6027\u2019name\u2019\u7684\u503c<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1hget u2 &amp;#x27;name&amp;#x27;<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u83b7\u53d6\u591a\u4e2a\u5c5e\u6027\u7684\u503c<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1hmget key field1 field2 ...<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b5\uff1a\u83b7\u53d6\u952eu2\u5c5e\u6027\u2019name\u2019\u3001&#x27;age\u7684\u503c<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1hmget u2 name age<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u83b7\u53d6\u6240\u6709\u5c5e\u6027\u7684\u503c<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1hvals key<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b6\uff1a\u83b7\u53d6\u952e\u2019u2\u2019\u6240\u6709\u5c5e\u6027\u7684\u503c<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1hvals u2<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>3\uff1a\u5220\u9664<br \/>\n<!-- -->\u5220\u9664\u6574\u4e2ahash\u952e\u53ca\u503c\uff0c\u4f7f\u2f64del\u547d\u4ee4\uff1b\u5220\u9664\u5c5e\u6027\uff0c\u5c5e\u6027\u5bf9\u5e94\u7684\u503c\u4f1a\u88ab\u2f00\u8d77\u5220\u9664<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1hdel key field1 field2 ...<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b7\uff1a\u5220\u9664\u952e\u2019u2\u2019\u7684\u5c5e\u6027\u2019age\u2019<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1hdel u2 age<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>4.4 list\u7c7b\u578b<\/h2>\n<p>\u5217\u8868\u7684\u5143\u7d20\u7c7b\u578b\u4e3astring\uff1b\u6309\u7167\u63d2\u2f0a\u987a\u5e8f\u6392\u5e8f<\/p>\n<p>1\uff1a\u589e\u52a0<br \/>\n<!-- -->\u5728\u5de6\u4fa7\u63d2\u2f0a\u6570\u636e<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1lpush key value1 value2 ...<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b1\uff1a\u4ece\u952e\u4e3a\u2019a1\u2019\u7684\u5217\u8868\u5de6\u4fa7\u52a0\u2f0a\u6570\u636ea \u3001 b \u3001c<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1lpush a1 a b c<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u5728\u53f3\u4fa7\u63d2\u2f0a\u6570\u636e<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1rpush key value1 value2 ...<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b2\uff1a\u4ece\u952e\u4e3a\u2019a1\u2019\u7684\u5217\u8868\u53f3\u4fa7\u52a0\u2f0a\u6570\u636e0 1<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1rpush a1 0 1<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u5728\u6307\u5b9a\u5143\u7d20\u7684\u524d\u6216\u540e\u63d2\u2f0a\u65b0\u5143\u7d20<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1linsert key before\u6216after \u73b0\u6709\u5143\u7d20 \u65b0\u5143\u7d20<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b3\uff1a\u5728\u952e\u4e3a\u2019a1\u2019\u7684\u5217\u8868\u4e2d\u5143\u7d20\u2019b\u2019\u524d\u52a0\u2f0a\u20193\u2019<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1linsert a1 before b 3<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>2\uff1a\u83b7\u53d6<br \/>\n<!-- -->\u8fd4\u56de\u5217\u8868\u2fa5\u6307\u5b9a\u8303\u56f4\u5185\u7684\u5143\u7d20<br \/>\n<!-- -->start\u3001stop\u4e3a\u5143\u7d20\u7684\u4e0b\u6807\u7d22\u5f15<br \/>\n<!-- -->\u7d22\u5f15\u4ece\u5de6\u4fa7\u5f00\u59cb\uff0c\u7b2c\u2f00\u4e2a\u5143\u7d20\u4e3a0<br \/>\n<!-- -->\u7d22\u5f15\u53ef\u4ee5\u662f\u8d1f\u6570\uff0c\u8868\u793a\u4ece\u5c3e\u90e8\u5f00\u59cb\u8ba1\u6570\uff0c\u5982-1\u8868\u793a\u6700\u540e\u2f00\u4e2a\u5143\u7d20<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1lrange key start stop<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b4\uff1a\u83b7\u53d6\u952e\u4e3a\u2019a1\u2019\u7684\u5217\u8868\u6240\u6709\u5143\u7d20<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1lrange a1 0 -1<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u8bbe\u7f6e\u6307\u5b9a\u7d22\u5f15\u4f4d\u7f6e\u7684\u5143\u7d20\u503c<br \/>\n<!-- -->\u7d22\u5f15\u4ece\u5de6\u4fa7\u5f00\u59cb\uff0c\u7b2c\u2f00\u4e2a\u5143\u7d20\u4e3a0<br \/>\n<!-- -->\u7d22\u5f15\u53ef\u4ee5\u662f\u8d1f\u6570\uff0c\u8868\u793a\u5c3e\u90e8\u5f00\u59cb\u8ba1\u6570\uff0c\u5982-1\u8868\u793a\u6700\u540e\u2f00\u4e2a\u5143\u7d20<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1lset key index value<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b5\uff1a\u4fee\u6539\u952e\u4e3a\u2019a1\u2019\u7684\u5217\u8868\u4e2d\u4e0b\u6807\u4e3a1\u7684\u5143\u7d20\u503c\u4e3a\u2019z\u2019<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1lset a1 1 z<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>3\uff1a\u5220\u9664<br \/>\n<!-- -->\u5220\u9664\u6307\u5b9a\u5143\u7d20<br \/>\n<!-- -->\u5c06\u5217\u8868\u4e2d\u524dcount\u6b21\u51fa\u73b0\u7684\u503c\u4e3avalue\u7684\u5143\u7d20\u79fb\u9664<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/><\/div><\/td><td><div class=\"text codecolorer\">1count &amp;gt; 0: \u4ece\u5934\u5f80\u5c3e\u79fb\u9664<br \/>\n2count &amp;lt; 0: \u4ece\u5c3e\u5f80\u5934\u79fb\u9664<br \/>\n3count = 0: \u79fb\u9664\u6240\u6709<br \/>\n4lrem key count value<br \/>\n5<br \/>\n6<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b6.1\uff1a\u5411\u5217\u8868\u2019a2\u2019\u4e2d\u52a0\u2f0a\u5143\u7d20\u2019a\u2019\u3001\u2018b\u2019\u3001\u2018a\u2019\u3001\u2018b\u2019\u3001\u2018a\u2019\u3001\u2018b\u2019<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1lpush a2 a b a b a b<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b6.2\uff1a\u4ece\u2019a2\u2019\u5217\u8868\u53f3\u4fa7\u5f00\u59cb\u5220\u96642\u4e2a\u2019b\u2019<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1lrem a2 -2 b<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b6.3\uff1a\u67e5\u770b\u5217\u8868\u2019py12\u2019\u7684\u6240\u6709\u5143\u7d20<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1lrange a2 0 -1<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>4.5 set\u7c7b\u578b<\/h2>\n<p>\u2f46\u5e8f\u96c6\u5408<br \/>\n<!-- -->\u5143\u7d20\u4e3astring\u7c7b\u578b<br \/>\n<!-- -->\u5143\u7d20\u5177\u6709\u552f\u2f00\u6027\uff0c\u4e0d\u91cd\u590d<br \/>\n<!-- -->\u8bf4\u660e\uff1a\u5bf9\u4e8e\u96c6\u5408\u6ca1\u6709\u4fee\u6539\u64cd\u4f5c<\/p>\n<p>1\uff1a\u589e\u52a0<br \/>\n<!-- -->\u6dfb\u52a0\u5143\u7d20<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1sadd key member1 member2 ...<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b1\uff1a\u5411\u952e\u2019a3\u2019\u7684\u96c6\u5408\u4e2d\u6dfb\u52a0\u5143\u7d20\u2019zhangsan\u2019\u3001\u2018lisi\u2019\u3001\u2018wangwu\u2019<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1sadd a3 zhangsan sili wangwu<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>2\uff1a\u83b7\u53d6<br \/>\n<!-- -->\u8fd4\u56de\u6240\u6709\u7684\u5143\u7d20<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1smembers key<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b2\uff1a\u83b7\u53d6\u952e\u2019a3\u2019\u7684\u96c6\u5408\u4e2d\u6240\u6709\u5143\u7d20<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1smembers a3<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>3\uff1a\u5220\u9664<br \/>\n<!-- -->\u5220\u9664\u6307\u5b9a\u5143\u7d20<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1srem key<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b3\uff1a\u5220\u9664\u952e\u2019a3\u2019\u7684\u96c6\u5408\u4e2d\u5143\u7d20\u2019wangwu\u2019<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1srem a3 wangwu<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>4.6 zset\u7c7b\u578b<\/h2>\n<p>sorted set\uff0c\u6709\u5e8f\u96c6\u5408<br \/>\n<!-- -->\u5143\u7d20\u4e3astring\u7c7b\u578b<br \/>\n<!-- -->\u5143\u7d20\u5177\u6709\u552f\u2f00\u6027\uff0c\u4e0d\u91cd\u590d<br \/>\n<!-- -->\u6bcf\u4e2a\u5143\u7d20\u90fd\u4f1a\u5173\u8054\u2f00\u4e2adouble\u7c7b\u578b\u7684score\uff0c\u8868\u793a\u6743\u91cd\uff0c\u901a\u8fc7\u6743\u91cd\u5c06\u5143\u7d20\u4ece\u2f29\u5230\u2f24\u6392\u5e8f<br \/>\n<!-- -->\u8bf4\u660e\uff1a\u6ca1\u6709\u4fee\u6539\u64cd\u4f5c<\/p>\n<p>1\uff1a\u589e\u52a0<br \/>\n<!-- -->\u6dfb\u52a0<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1zadd key score1 member1 score2 member2 ...<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b1\uff1a\u5411\u952e\u2019a4\u2019\u7684\u96c6\u5408\u4e2d\u6dfb\u52a0\u5143\u7d20\u2019lisi\u2019\u3001\u2018wangwu\u2019\u3001\u2018zhaoliu\u2019\u3001\u2018zhangsan\u2019\uff0c\u6743\u91cd\u5206\u522b\u4e3a4\u30015\u30016\u30013<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1zadd a4 4 lisi 5 wangwu 6 zhaoliu 3 zhangsan<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>2\uff1a\u83b7\u53d6<br \/>\n<!-- -->\u8fd4\u56de\u6307\u5b9a\u8303\u56f4\u5185\u7684\u5143\u7d20<br \/>\n<!-- -->start\u3001stop\u4e3a\u5143\u7d20\u7684\u4e0b\u6807\u7d22\u5f15<br \/>\n<!-- -->\u7d22\u5f15\u4ece\u5de6\u4fa7\u5f00\u59cb\uff0c\u7b2c\u2f00\u4e2a\u5143\u7d20\u4e3a0<br \/>\n<!-- -->\u7d22\u5f15\u53ef\u4ee5\u662f\u8d1f\u6570\uff0c\u8868\u793a\u4ece\u5c3e\u90e8\u5f00\u59cb\u8ba1\u6570\uff0c\u5982-1\u8868\u793a\u6700\u540e\u2f00\u4e2a\u5143\u7d20<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1zrange key start stop<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b2\uff1a\u83b7\u53d6\u952e\u2019a4\u2019\u7684\u96c6\u5408\u4e2d\u6240\u6709\u5143\u7d20<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1zrange a4 0 -1<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u8fd4\u56descore\u503c\u5728min\u548cmax\u4e4b\u95f4\u7684\u6210\u5458<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1zrangebyscore key min max<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b3\uff1a\u83b7\u53d6\u952e\u2019a4\u2019\u7684\u96c6\u5408\u4e2d\u6743\u9650\u503c\u57285\u548c6\u4e4b\u95f4\u7684\u6210\u5458<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1zrangebyscore a4 5 6<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u8fd4\u56de\u6210\u5458member\u7684score\u503c<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1zscore key member<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b4\uff1a\u83b7\u53d6\u952e\u2019a4\u2019\u7684\u96c6\u5408\u4e2d\u5143\u7d20\u2019zhangsan\u2019\u7684\u6743\u91cd<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1zscore a4 zhangsan<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>3\uff1a\u5220\u9664<br \/>\n<!-- -->\u5220\u9664\u6307\u5b9a\u5143\u7d20<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1zrem key member1 member2 ...<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b5\uff1a\u5220\u9664\u96c6\u5408\u2019a4\u2019\u4e2d\u5143\u7d20\u2019zhangsan\u2019<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1zrem a4 zhangsan<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u5220\u9664\u6743\u91cd\u5728\u6307\u5b9a\u8303\u56f4\u7684\u5143\u7d20<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1zremrangebyscore key min max<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u4f8b6\uff1a\u5220\u9664\u96c6\u5408\u2019a4\u2019\u4e2d\u6743\u9650\u57285\u30016\u4e4b\u95f4\u7684\u5143\u7d20<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1zremrangebyscore a4 5 6<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h1>\u4e94\uff1aredis\u4e3b\u4ece<\/h1>\n<p>\u2f00\u4e2amaster\u53ef\u4ee5\u62e5\u6709\u591a\u4e2aslave\uff0c\u2f00\u4e2aslave\u2f1c\u53ef\u4ee5\u62e5\u6709\u591a\u4e2aslave\uff0c\u5982\u6b64\u4e0b\u53bb\uff0c\u5f62\u6210\u4e86\u5f3a\u2f24\u7684\u591a\u7ea7\u670d\u52a1\u5668\u96c6\u7fa4\u67b6\u6784<br \/>\n<!-- -->master\u7528\u6765\u5199\u6570\u636e\uff0cslave\u7528\u6765\u8bfb\u6570\u636e\uff0c\u7ecf\u7edf\u8ba1\uff1a\u7f51\u7ad9\u7684\u8bfb\u5199\u6bd4\u7387\u662f10:1<br \/>\n<!-- -->\u901a\u8fc7\u4e3b\u4ece\u914d\u7f6e\u53ef\u4ee5\u5b9e\u73b0\u8bfb\u5199\u5206\u79bb<br \/>\n<!-- -->master\u548cslave\u90fd\u662f\u4e00\u4e2aredis\u5b9e\u4f8b(redis\u670d\u52a1)<br \/>\n<img decoding=\"async\" src=\"https:\/\/aqzt.com\/wp-content\/uploads\/20220211004143-25.png\" alt=\"redis\u4e3b\u4ece\" \/><\/p>\n<h2>5.1 \u73af\u5883\u51c6\u5907<\/h2>\n<p>172.17.2.234<br \/>\nunode01.ginvip.com<br \/>\nubuntu16.04<br \/>\nmaster<br \/>\n172.17.2.235<br \/>\nunode02.ginvip.com<br \/>\nubuntu16.04<br \/>\nslave<\/p>\n<p>\u8bf4\u660e\uff1aredis\u4e3b\u4ece\u914d\u7f6e\u53ef\u4ee5\u662f\u4e00\u53f0\u673a\u5668\uff0c\u4e5f\u53ef\u4ee5\u662f\u591a\u53f0<\/p>\n<h2>5.2 \u914d\u7f6e\u4e3bredis<\/h2>\n<p>\u5b89\u88c5\u6b65\u9aa4\u540c\u4e0a\uff0c\u53ea\u662f\u9700\u8981\u4fee\u6539\u914d\u7f6e\u6587\u4ef6<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1bind 172.17.2.234&nbsp; &nbsp; &nbsp; # \u4fee\u6539\u4e3a\u672c\u673aIP<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u91cd\u542fredis\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1root@unode01:~# supervisorctl restart redis<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>5.3 \u914d\u7f6e\u4eceredis<\/h2>\n<p>\u914d\u7f6e\u6587\u4ef6\u4fee\u6539\u5982\u4e0b\u9879\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/><\/div><\/td><td><div class=\"text codecolorer\">1bind 172.17.2.235<br \/>\n2slaveof 172.17.2.234 6379<br \/>\n3<br \/>\n4<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u542f\u52a8redis\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1supervisorctl start redis<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u67e5\u770b\u65e5\u5fd7\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/><\/div><\/td><td><div class=\"text codecolorer\">1root@unode02:\/etc\/supervisor\/conf.d# tail -f \/var\/log\/supervisor\/redis.log<br \/>\n25592:S 26 Feb 17:35:38.891 * Connecting to MASTER 172.17.2.234:6379<br \/>\n35592:S 26 Feb 17:35:38.892 * MASTER &amp;lt;-&amp;gt; SLAVE sync started<br \/>\n45592:S 26 Feb 17:35:38.894 * Non blocking connect for SYNC fired the event.<br \/>\n55592:S 26 Feb 17:35:38.896 * Master replied to PING, replication can continue...<br \/>\n65592:S 26 Feb 17:35:38.899 * Partial resynchronization not possible (no cached master)<br \/>\n75592:S 26 Feb 17:35:38.901 * Full resync from master: 3595f8c7f18f7511f9c62865c20585736fa30a16:1<br \/>\n85592:S 26 Feb 17:35:38.966 * MASTER &amp;lt;-&amp;gt; SLAVE sync: receiving 127 bytes from master<br \/>\n95592:S 26 Feb 17:35:38.967 * MASTER &amp;lt;-&amp;gt; SLAVE sync: Flushing old data<br \/>\n105592:S 26 Feb 17:35:38.968 * MASTER &amp;lt;-&amp;gt; SLAVE sync: Loading DB in memory<br \/>\n115592:S 26 Feb 17:35:38.968 * MASTER &amp;lt;-&amp;gt; SLAVE sync: Finished with success<br \/>\n12<br \/>\n13<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>5.4 \u67e5\u770b\u4e3b\u4ece\u5173\u7cfb<\/h2>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/><\/div><\/td><td><div class=\"text codecolorer\">1root@unode01:~# redis-cli -h 172.17.2.234 info Replication<br \/>\n2# Replication<br \/>\n3role:master<br \/>\n4connected_slaves:1<br \/>\n5slave0:ip=172.17.2.235,port=6379,state=online,offset=155,lag=1<br \/>\n6master_repl_offset:155<br \/>\n7repl_backlog_active:1<br \/>\n8repl_backlog_size:1048576<br \/>\n9repl_backlog_first_byte_offset:2<br \/>\n10repl_backlog_histlen:154<br \/>\n11<br \/>\n12<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>5.5 \u6570\u636e\u64cd\u4f5c<\/h2>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/><\/div><\/td><td><div class=\"text codecolorer\">1172.17.2.234:6379&amp;gt; set name ginvip<br \/>\n2OK<br \/>\n3172.17.2.235:6379&amp;gt; get name<br \/>\n4&amp;quot;ginvip&amp;quot;<br \/>\n5<br \/>\n6<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h1>\u516d\uff1aredis\u5e38\u7528\u64cd\u4f5c\u603b\u7ed3<\/h1>\n<h2>6.1 \u8bbe\u7f6e\u952e\u503c<\/h2>\n<p>\u5c06\u5b57\u7b26\u4e32\u503cvalue\u5173\u8054\u5230key\u3002\u5982\u679ckey\u5df2\u7ecf\u6301\u6709\u5176\u4ed6\u503c\uff0cset\u547d\u4ee4\u5c31\u8986\u5199\u65e7\u503c\uff0c\u65e0\u89c6\u5176\u7c7b\u578b\u3002\u5e76\u4e14\u9ed8\u8ba4\u7684\u8fc7\u671f\u65f6\u95f4\u662f\u6c38\u4e45\uff0c\u5373\u6c38\u8fdc\u4e0d\u4f1a\u8fc7\u671f\u3002\u952e\u503c\u5bf9\uff0c\u4e00 \u4e00\u5bf9\u5e94\u3002<br \/>\n<img decoding=\"async\" src=\"https:\/\/aqzt.com\/wp-content\/uploads\/20220211004144-15.png\" alt=\"redis\u8bbe\u7f6e\u952e\u503c\" \/><\/p>\n<h2>6.2 \u8bbe\u7f6e\u952e\u503c\u5bf9\u7684\u8fc7\u671f\u65f6\u95f4<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/aqzt.com\/wp-content\/uploads\/20220211004145-16.png\" alt=\"redis\u8bbe\u7f6e\u952e\u503c\u5bf9\u8fc7\u671f\u65f6\u95f4\" \/><\/p>\n<h2>6.3 hash\uff0c\u54c8\u5e0c\u64cd\u4f5c<\/h2>\n<p>\u5c06\u54c8\u5e0c\u8868key\u4e2d\u7684\u57dffield\u7684\u503c\u8bbe\u4e3avalue\u3002field \u548cvalue \u76f8\u5f53\u4e8e\u4e4b\u524d\u7684\u952e\u503c\u5bf9\uff0ckey\u4e3a\u4e00\u4e2a\u5927\u7684\u8303\u56f4\uff0c\u5982\u679ckey\u4e0d\u5b58\u5728\uff0c\u4e00\u4e2a\u65b0\u7684\u54c8\u5e0c\u8868\u88ab\u521b\u5efa\u5e76\u8fdb\u884c HSET\u64cd\u4f5c\u3002\u5982\u679c\u57df field\u5df2\u7ecf\u5b58\u5728\u4e8e\u54c8\u5e0c\u8868\u4e2d\uff0c\u65e7\u503c\u5c06\u88ab\u8986\u76d6\u3002(\u53ef\u4ee5\u7406\u89e3\u4e3a\u5b66\u6821\u91cc\u7684\u73ed\u7ea7\u4e2d\u7684)<br \/>\n<img decoding=\"async\" src=\"https:\/\/aqzt.com\/wp-content\/uploads\/20220211004146-78.png\" alt=\"redis\u54c8\u5e0c\u64cd\u4f5c\" \/><\/p>\n<h2>6.4 \u5217\u8868(list)\u64cd\u4f5c \uff08\u53ef\u4ee5\u5b58\u50a8\u91cd\u590d\u503c\uff09<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/aqzt.com\/wp-content\/uploads\/20220211004147-92.png\" alt=\"redis\u5217\u8868\u64cd\u4f5c\" \/><br \/>\n<!-- -->\u6839\u636ecount \u7684\u503c\uff0c\u5220\u9664\u5217\u8868\u4e2d\u76f8\u5e94\u4e2a\u6570\u7684value\u7684\u5143\u7d20\uff0ccount\u7684\u503c\u53ef\u4ee5\u662f\u4ee5\u4e0b\u51e0\u79cd\uff1a count &gt; 0\uff1a\u4ece\u8868\u5934\u5f00\u59cb\u5411\u8868\u5c3e\u641c\u7d22\uff0c\u79fb\u9664\u4e0evalue\u76f8\u7b49\u7684\u5143\u7d20\uff0c\u6570\u91cf\u4e3acount\u3002 count &lt; 0\uff1a\u4ece\u8868\u5c3e\u5f00\u59cb\u5411\u8868\u5934\u641c\u7d22\uff0c\u79fb\u9664\u4e0e value\u76f8\u7b49\u7684\u5143\u7d20\uff0c\u6570\u91cf\u4e3acount\u7684\u7edd\u5bf9\u503c\u3002 count = 0\uff1a\u79fb\u9664\u8868\u4e2d\u6240\u6709\u4e0evalue \u76f8\u7b49\u7684\u503c\u3002<\/p>\n<h2>6.5 set\u96c6\u5408\uff08\u96c6\u5408\u6ca1\u6709\u91cd\u590d\u503c\uff09\u7684\u64cd\u4f5c<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/aqzt.com\/wp-content\/uploads\/20220211004148-92.png\" alt=\"redis set\u64cd\u4f5c\" \/><\/p>\n<h2>6.6 \u4e8b\u52a1\u64cd\u4f5c<\/h2>\n<p>Redis\u4e8b\u52a1\u53ef\u4ee5\u4e00\u6b21\u6267\u884c\u591a\u4e2a\u547d\u4ee4\uff0c\u4e8b\u52a1\u5177\u6709\u4ee5\u4e0b\u7279\u5f81\uff1a<br \/>\n<!-- -->\u9694\u79bb\u64cd\u4f5c\uff1a\u4e8b\u52a1\u4e2d\u7684\u6240\u6709\u547d\u4ee4\u90fd\u4f1a\u5e8f\u5217\u5316\u3001\u6309\u987a\u5e8f\u5730\u6267\u884c\uff0c\u4e0d\u4f1a\u88ab\u5176\u4ed6\u547d\u4ee4\u6253\u6270\u3002<br \/>\n<!-- -->\u539f\u5b50\u64cd\u4f5c\uff1a\u4e8b\u52a1\u4e2d\u7684\u547d\u4ee4\u8981\u4e48\u5168\u90e8\u88ab\u6267\u884c\uff0c\u8981\u4e48\u5168\u90e8\u90fd\u4e0d\u6267\u884c\u3002<br \/>\n<img decoding=\"async\" src=\"https:\/\/aqzt.com\/wp-content\/uploads\/20220211004149-8.png\" alt=\"redis\u4e8b\u52a1\u64cd\u4f5c\" \/><\/p>\n<h2>6.7 \u53d1\u5e03\/\u8ba2\u9605\u64cd\u4f5c<\/h2>\n<p>\u7ed9\u67d0\u4e2a\u9891\u9053\u53d1\u5e03\u6d88\u606f\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1publish channel message<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u8ba2\u9605\u67d0\u4e2a\u9891\u9053\u7684\u6d88\u606f\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1subscribe channel<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>6.8 \u6301\u4e45\u5316<\/h2>\n<p>redis\u63d0\u4f9b\u4e86\u4e24\u79cd\u6570\u636e\u5907\u4efd\u65b9\u5f0f\uff0c\u4e00\u79cd\u662fRDB\uff0c\u53e6\u5916\u4e00\u79cd\u662fAOF\uff0c\u4ee5\u4e0b\u5c06\u8be6\u7ec6\u4ecb\u7ecd\u8fd9\u4e24\u79cd\u5907\u4efd\u7b56\u7565<br \/>\n<img decoding=\"async\" src=\"https:\/\/aqzt.com\/wp-content\/uploads\/20220211004150-89.png\" alt=\"redis\u6570\u636e\u6301\u4e45\u5316\" \/><\/p>\n<h1>\u4e03\uff1apython\u4e0eredis\u4ea4\u4e92<\/h1>\n<h2>7.1 python\u5b89\u88c5redis<\/h2>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/><\/div><\/td><td><div class=\"text codecolorer\">1# python\u7248\u672c\u4e3a3.7.4<br \/>\n2pip install redis<br \/>\n3<br \/>\n4<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>7.2 StrictRedis\u5bf9\u8c61\u2f45\u6cd5<\/h2>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/><\/div><\/td><td><div class=\"text codecolorer\">1from redis import *<br \/>\n2sr = StrictRedis(host=&amp;#x27;localhost&amp;#x27;, port=6379, db=0, password=&amp;#x27;&amp;#x27;) &nbsp; &nbsp; &nbsp; # \u90fd\u662f\u9ed8\u8ba4\u53c2\u6570<br \/>\n3# \u7b80\u5199<br \/>\n4# sr=StrictRedis()<br \/>\n5<br \/>\n6<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u6ce8\u610f\uff1aPython3.7\u7248\u672c\u9ed8\u8ba4\u5199\u5165\u5230redis\u6570\u636e\u5e93\u4e2d\u7684\u4e3a\u5b57\u8282\u7c7b\u578b\u6570\u636e\uff0c\u6240\u4ee5\u53d6\u5230\u7684\u503c\u90fd\u662f\u5b57\u8282\u7c7b\u578b\u3002<\/p>\n<p>decode_responses\uff1a \u4ee5\u5b57\u7b26\u4e32\u7684\u5f62\u5f0f\u5199\u5165Redis\uff0c\u4e3aFalse\u7684\u8bdd\u5199\u5165\u5b57\u8282\u7c7b\u578b<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/><\/div><\/td><td><div class=\"text codecolorer\">1sr = redis.StrictRedis(host=&amp;#x27;172.17.2.118&amp;#x27;, port=10009, db=0, password=&amp;#x27;BruceLee&amp;#x27;, charset=&amp;#x27;utf8&amp;#x27;\uff0c decode_responses=True)<br \/>\n2sr.set(&amp;#x27;mobile&amp;#x27;, &amp;#x27;963258741&amp;#x27;)<br \/>\n3print(sr.get(&amp;#x27;mobile&amp;#x27;))<br \/>\n4<br \/>\n5<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>Redis\u5bf9\u8c61\u65b9\u6cd5\u4e5f\u662f\u4e00\u6837\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1sr = redis.Redis(host = &amp;#x27;172.17.2.118&amp;#x27;, port = 10009, db = 0, password = &amp;#x27;BruceLee&amp;#x27;, charset=&amp;#x27;utf8&amp;#x27;, decode_responses=True)<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>7.3 \u5b57\u7b26\u4e32\u7684\u64cd\u4f5c<\/h2>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/><\/div><\/td><td><div class=\"text codecolorer\">1 # \u6dfb\u52a0\u4e00\u4e2a\u503c\u8fdb\u53bb\uff0c\u5e76\u4e14\u8bbe\u7f6e\u8fc7\u671f\u65f6\u95f4\u4e3a60\u79d2\uff0c\u5982\u679c\u4e0d\u8bbe\u7f6e\uff0c\u5219\u6c38\u8fdc\u4e0d\u4f1a\u8fc7\u671f<br \/>\n2 sr.set(&amp;#x27;username&amp;#x27;,&amp;#x27;jack&amp;#x27;,ex=60)<br \/>\n3 # \u83b7\u53d6\u4e00\u4e2a\u503c<br \/>\n4 sr.get(&amp;#x27;username&amp;#x27;)<br \/>\n5 # \u5220\u9664\u4e00\u4e2a\u503c<br \/>\n6 sr.delete(&amp;#x27;username&amp;#x27;)<br \/>\n7 # \u7ed9\u67d0\u4e2a\u503c\u81ea\u589e1<br \/>\n8 sr.set(&amp;#x27;count&amp;#x27;,1)<br \/>\n9 sr.incr(&amp;#x27;count&amp;#x27;) &nbsp;# \u8fd9\u65f6\u5019read_count\u53d8\u4e3a2<br \/>\n10 # \u7ed9\u67d0\u4e2a\u503c\u51cf\u5c111<br \/>\n11 sr.decr(&amp;#x27;count&amp;#x27;) # \u8fd9\u65f6\u5019read_count\u53d8\u4e3a1<br \/>\n12<br \/>\n13<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>7.4 \u5217\u8868\u7684\u64cd\u4f5c<\/h2>\n<p>\u540c\u5b57\u7b26\u4e32\u64cd\u4f5c\uff0c\u6240\u6709\u65b9\u6cd5\u7684\u540d\u79f0\u8ddf\u4f7f\u7528redis-cli\u64cd\u4f5c\u662f\u4e00\u6837\u7684\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/><\/div><\/td><td><div class=\"text codecolorer\">1# \u7ed9languages\u8fd9\u4e2a\u5217\u8868\u5f80\u5de6\u8fb9\u6dfb\u52a0\u4e00\u4e2apython<br \/>\n2sr.lpush(&amp;#x27;languages&amp;#x27;,&amp;#x27;python&amp;#x27;)<br \/>\n3<br \/>\n4# \u7ed9languages\u8fd9\u4e2a\u5217\u8868\u5f80\u5de6\u8fb9\u6dfb\u52a0\u4e00\u4e9b\u5143\u7d20<br \/>\n5sr.lpush(&amp;#x27;languages&amp;#x27;,&amp;#x27;php&amp;#x27;,&amp;#x27;c&amp;#x27;)<br \/>\n6<br \/>\n7# \u83b7\u53d6languages\u8fd9\u4e2a\u5217\u8868\u4e2d\u7684\u6240\u6709\u503c<br \/>\n8print (sr.lrange(&amp;#x27;languages&amp;#x27;,0,-1))<br \/>\n9<br \/>\n10<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>7.5 \u96c6\u5408\u7684\u64cd\u4f5c<\/h2>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/><\/div><\/td><td><div class=\"text codecolorer\">1# \u7ed9\u96c6\u5408team\u6dfb\u52a0\u4e00\u4e2a\u5143\u7d20<br \/>\n2sr.sadd(&amp;#x27;team&amp;#x27;,&amp;#x27;xiaotuo&amp;#x27;)<br \/>\n3# \u7ed9\u96c6\u5408team\u6dfb\u52a0\u4e00\u4e9b\u5143\u7d20<br \/>\n4sr.sadd(&amp;#x27;name&amp;#x27;,&amp;#x27;lee&amp;#x27;, &amp;#x27;van&amp;#x27;)<br \/>\n5<br \/>\n6# \u83b7\u53d6\u96c6\u5408\u4e2d\u7684\u6240\u6709\u5143\u7d20<br \/>\n7print(sr.smembers(&amp;#x27;name&amp;#x27;))<br \/>\n8<br \/>\n9<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>7.6 \u54c8\u5e0c(hash)\u7684\u64cd\u4f5c<\/h2>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/><\/div><\/td><td><div class=\"text codecolorer\">1# \u7ed9website\u8fd9\u4e2a\u54c8\u5e0c\u4e2d\u6dfb\u52a0baidu<br \/>\n2sr.hset(&amp;#x27;website&amp;#x27;,&amp;#x27;baidu&amp;#x27;,&amp;#x27;baidu.com&amp;#x27;)<br \/>\n3<br \/>\n4# \u7ed9website\u8fd9\u4e2a\u54c8\u5e0c\u4e2d\u6dfb\u52a0google<br \/>\n5sr.hset(&amp;#x27;website&amp;#x27;,&amp;#x27;google&amp;#x27;,&amp;#x27;google.com&amp;#x27;)<br \/>\n6<br \/>\n7# \u83b7\u53d6website\u8fd9\u4e2a\u54c8\u5e0c\u4e2d\u7684\u6240\u6709\u503c<br \/>\n8print (sr.hgetall(&amp;#x27;website&amp;#x27;))<br \/>\n9<br \/>\n10<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>7.7 \u4e8b\u52a1(\u7ba1\u9053)\u64cd\u4f5c<\/h2>\n<p>redis\u652f\u6301\u4e8b\u52a1\u64cd\u4f5c\uff0c\u4e5f\u5373\u4e00\u4e9b\u64cd\u4f5c\u53ea\u6709\u7edf\u4e00\u5b8c\u6210\uff0c\u624d\u80fd\u7b97\u5b8c\u6210\u3002\u5426\u5219\u90fd\u6267\u884c\u5931\u8d25\uff0c\u7528python\u64cd\u4f5credis\u4e5f\u662f\u975e\u5e38\u7b80\u5355<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/><\/div><\/td><td><div class=\"text codecolorer\">1# \u5b9a\u4e49\u4e00\u4e2a\u7ba1\u9053\u5b9e\u4f8b<br \/>\n2pip = sr.pipeline()<br \/>\n3# \u505a\u7b2c\u4e00\u6b65\u64cd\u4f5c\uff0c\u7ed9BankA\u81ea\u589e\u957f1<br \/>\n4pip.incr(&amp;#x27;BankA&amp;#x27;)<br \/>\n5# \u505a\u7b2c\u4e8c\u6b65\u64cd\u4f5c\uff0c\u7ed9BankB\u81ea\u51cf\u5c111<br \/>\n6pip.desc(&amp;#x27;BankB&amp;#x27;)<br \/>\n7# \u6267\u884c\u4e8b\u52a1<br \/>\n8pip.execute()<br \/>\n9<br \/>\n10<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>7.8 \u53d1\u5e03\u4e0e\u8ba2\u9605<\/h2>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/><\/div><\/td><td><div class=\"text codecolorer\">1# one.py<br \/>\n2from redis import Redis<br \/>\n3cache = Redis(host = &amp;#x27;172.17.2.118&amp;#x27;, port = 10009, db = 0, password = &amp;#x27;BruceLee&amp;#x27;, charset=&amp;#x27;utf8&amp;#x27;, decode_responses=True)<br \/>\n4ps = cache.pubsub()<br \/>\n5ps.subscribe(&amp;#x27;email&amp;#x27;)<br \/>\n6while True:<br \/>\n7 &nbsp; &nbsp;for item in ps.listen():<br \/>\n8 &nbsp; &nbsp; &nbsp; &nbsp;# print(item)<br \/>\n9 &nbsp; &nbsp; &nbsp; &nbsp;if item[&amp;#x27;type&amp;#x27;] == &amp;#x27;message&amp;#x27;:<br \/>\n10 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;print(item[&amp;#x27;data&amp;#x27;])<br \/>\n11<br \/>\n12<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/><\/div><\/td><td><div class=\"text codecolorer\">1# two.py<br \/>\n2from redis import Redis<br \/>\n3cache = Redis(host = &amp;#x27;172.17.2.118&amp;#x27;, port = 10009, db = 0, password = &amp;#x27;BruceLee&amp;#x27;, charset=&amp;#x27;utf8&amp;#x27;, decode_responses=True)<br \/>\n4for x in range(5):<br \/>\n5 &nbsp; &nbsp;cache.publish(&amp;#x27;email&amp;#x27;, &amp;#x27;no way&amp;#x27;)<br \/>\n6<br \/>\n7<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<h2>7.9 django-redis<\/h2>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"text codecolorer\">1pip install django-redis<br \/>\n2<br \/>\n3<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>settings\u914d\u7f6e\u6587\u4ef6\u4e2d\u914d\u7f6eredis\u8fde\u63a5\u4fe1\u606f\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/><\/div><\/td><td><div class=\"text codecolorer\">1# \u4f7f\u7528redis\u4f5c\u4e3acache backend\u4f7f\u7528\u914d\u7f6e<br \/>\n2CACHES = {<br \/>\n3 &nbsp; &nbsp;&amp;#x27;default&amp;#x27;: {<br \/>\n4 &nbsp; &nbsp; &nbsp; &nbsp;&amp;#x27;BACKEND&amp;#x27;: &amp;#x27;django_redis.cache.RedisCache&amp;#x27;,<br \/>\n5 &nbsp; &nbsp; &nbsp; &nbsp;&amp;#x27;LOCATION&amp;#x27;: &amp;#x27;redis:\/\/172.17.2.118:10009\/9&amp;#x27;,<br \/>\n6 &nbsp; &nbsp; &nbsp; &nbsp;&amp;#x27;OPTIONS&amp;#x27;: {<br \/>\n7 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&amp;#x27;CLIENT_CLASS&amp;#x27;: &amp;#x27;django_redis.client.DefaultClient&amp;#x27;,<br \/>\n8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&amp;quot;CONNECTION_POOL_KWARGS&amp;quot;: {&amp;quot;max_connections&amp;quot;: 10, &amp;quot;decode_responses&amp;quot;: True},<br \/>\n9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&amp;#x27;PASSWORD&amp;#x27;: &amp;#x27;BruceLee&amp;#x27;,<br \/>\n10 &nbsp; &nbsp; &nbsp; &nbsp;}<br \/>\n11 &nbsp; &nbsp;}<br \/>\n12}<br \/>\n13# &amp;quot;CONNECTION_POOL_KWARGS&amp;quot;: \u8fde\u63a5\u6c60\u8bbe\u7f6e<br \/>\n14# &amp;quot;max_connections&amp;quot;: \u6700\u5927\u8fde\u63a5\u6570<br \/>\n15# &amp;quot;decode_responses&amp;quot;: \u4ee5\u5b57\u7b26\u4e32\u7684\u5f62\u5f0f\u5199\u5165Redis\uff0c\u4e3aFalse\u7684\u8bdd\u5199\u5165\u5b57\u8282\u7c7b\u578b<br \/>\n16<br \/>\n17<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n<p>\u8fde\u63a5redis\u6570\u636e\uff1a<\/p>\n<pre>\n\n<div class=\"codecolorer-container text solarized-dark language-python\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/><\/div><\/td><td><div class=\"text codecolorer\">1conn = get_redis_connection(&amp;#x27;default&amp;#x27;) &nbsp; &nbsp; &nbsp; # default\u53c2\u6570\u4e3a\u4e0a\u9762CACHES\u7684\u952e<br \/>\n2conn.set(mobile, rand_num, ex = 5*60)<br \/>\n3<br \/>\n4<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>redis\u6570\u636e\u5e93 \u4e00\uff1anosql\u4ecb\u7ecd \u4e8c\uff1aredis\u4ecb\u7ecd 2.1 Redis\u7279\u6027 2.2 Redis \u4f18\u52bf 2.3 redis\u5e94\u7528\u573a\u666f \u4e09\uff1aredis\u5b89\u88c5\u914d\u7f6e 3.1 redis\u5b89\u88c5 3.2 redis\u914d\u7f6e 3.3 redis\u542f\u52a8 3.4 \u4f7f\u7528\u5ba2\u6237\u7aef\u8fde\u63a5redis \u56db\uff1aredis\u6570\u636e\u7c7b\u578b 4.1 string\u7c7b\u578b 4.2 \u952e\u547d\u4ee4 4.3 hash\u7c7b\u578b 4.4 list\u7c7b\u578b 4.5 set\u7c7b\u578b 4.6 zset\u7c7b\u578b \u4e94\uff1aredis\u4e3b\u4ece 5.1 \u73af\u5883\u51c6\u5907 5.2 \u914d\u7f6e\u4e3bredis 5.3 \u914d\u7f6e\u4eceredis 5.4 \u67e5\u770b<\/p>\n","protected":false},"author":1,"featured_media":20884,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[5],"tags":[292,393,23,9,26,25,21,10,500,445],"collection":[],"_links":{"self":[{"href":"https:\/\/aqzt.com\/wp-json\/wp\/v2\/posts\/20892"}],"collection":[{"href":"https:\/\/aqzt.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aqzt.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aqzt.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aqzt.com\/wp-json\/wp\/v2\/comments?post=20892"}],"version-history":[{"count":0,"href":"https:\/\/aqzt.com\/wp-json\/wp\/v2\/posts\/20892\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aqzt.com\/wp-json\/wp\/v2\/media\/20884"}],"wp:attachment":[{"href":"https:\/\/aqzt.com\/wp-json\/wp\/v2\/media?parent=20892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aqzt.com\/wp-json\/wp\/v2\/categories?post=20892"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aqzt.com\/wp-json\/wp\/v2\/tags?post=20892"},{"taxonomy":"collection","embeddable":true,"href":"https:\/\/aqzt.com\/wp-json\/wp\/v2\/collection?post=20892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}