{"id":267,"date":"2023-02-24T06:23:06","date_gmt":"2023-02-23T22:23:06","guid":{"rendered":"https:\/\/www.appblog.cn\/?p=267"},"modified":"2023-02-24T06:23:25","modified_gmt":"2023-02-23T22:23:25","slug":"redis-server-commands","status":"publish","type":"post","link":"https:\/\/www.appblog.cn\/index.php\/2023\/02\/24\/redis-server-commands\/","title":{"rendered":"Redis \u670d\u52a1\u5668\u547d\u4ee4"},"content":{"rendered":"<h3>BGREWRITEAOF<\/h3>\n<p>\u5f02\u6b65\u6267\u884c\u4e00\u4e2a AOF\uff08AppendOnly File\uff09 \u6587\u4ef6\u91cd\u5199\u64cd\u4f5c<\/p>\n<ul>\n<li>Bgrewriteaof \u547d\u4ee4\u7528\u4e8e\u5f02\u6b65\u6267\u884c\u4e00\u4e2a AOF\uff08AppendOnly File\uff09 \u6587\u4ef6\u91cd\u5199\u64cd\u4f5c\u3002\u91cd\u5199\u4f1a\u521b\u5efa\u4e00\u4e2a\u5f53\u524d AOF \u6587\u4ef6\u7684\u4f53\u79ef\u4f18\u5316\u7248\u672c<\/li>\n<li>\u5373\u4f7f Bgrewriteaof \u6267\u884c\u5931\u8d25\uff0c\u4e5f\u4e0d\u4f1a\u6709\u4efb\u4f55\u6570\u636e\u4e22\u5931\uff0c\u56e0\u4e3a\u65e7\u7684 AOF \u6587\u4ef6\u5728 Bgrewriteaof \u6210\u529f\u4e4b\u524d\u4e0d\u4f1a\u88ab\u4fee\u6539<\/li>\n<\/ul>\n<p><!-- more --><\/p>\n<p>\u6ce8\u610f\uff1a\u4ece Redis 2.4 \u5f00\u59cb\uff0c AOF \u91cd\u5199\u7531 Redis \u81ea\u884c\u89e6\u53d1\uff0c BGREWRITEAOF \u4ec5\u4ec5\u7528\u4e8e\u624b\u52a8\u89e6\u53d1\u91cd\u5199\u64cd\u4f5c\u3002<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; BGREWRITEAOF\nBackground append only file rewriting started<\/code><\/pre>\n<h3>BGSAVE<\/h3>\n<p>\u5728\u540e\u53f0\u5f02\u6b65\u4fdd\u5b58\u5f53\u524d\u6570\u636e\u5e93\u7684\u6570\u636e\u5230\u78c1\u76d8<\/p>\n<p>BGSAVE \u547d\u4ee4\u6267\u884c\u4e4b\u540e\u7acb\u5373\u8fd4\u56de OK \uff0c\u7136\u540e Redis fork \u51fa\u4e00\u4e2a\u65b0\u5b50\u8fdb\u7a0b\uff0c\u539f\u6765\u7684 Redis \u8fdb\u7a0b(\u7236\u8fdb\u7a0b)\u7ee7\u7eed\u5904\u7406\u5ba2\u6237\u7aef\u8bf7\u6c42\uff0c\u800c\u5b50\u8fdb\u7a0b\u5219\u8d1f\u8d23\u5c06\u6570\u636e\u4fdd\u5b58\u5230\u78c1\u76d8\uff0c\u7136\u540e\u9000\u51fa\u3002<\/p>\n<pre><code class=\"language-bash\">redis&gt; BGSAVE\nBackground saving started<\/code><\/pre>\n<h3>CLIENT KILL [ip:port] [ID client-id]<\/h3>\n<p>\u5173\u95ed\u5ba2\u6237\u7aef\u8fde\u63a5<\/p>\n<pre><code class=\"language-bash\"># \u5217\u51fa\u6240\u6709\u5df2\u8fde\u63a5\u5ba2\u6237\u7aef\n\nredis 127.0.0.1:6379&gt; CLIENT LIST\naddr=127.0.0.1:43501 fd=5 age=10 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client\n\n# \u6740\u6b7b\u5f53\u524d\u5ba2\u6237\u7aef\u7684\u8fde\u63a5\n\nredis 127.0.0.1:6379&gt; CLIENT KILL 127.0.0.1:43501\nOK\n\n# \u4e4b\u524d\u7684\u8fde\u63a5\u5df2\u7ecf\u88ab\u5173\u95ed\uff0cCLI \u5ba2\u6237\u7aef\u53c8\u91cd\u65b0\u5efa\u7acb\u4e86\u8fde\u63a5\n# \u4e4b\u524d\u7684\u7aef\u53e3\u662f 43501 \uff0c\u73b0\u5728\u662f 43504\n\nredis 127.0.0.1:6379&gt; CLIENT LIST\naddr=127.0.0.1:43504 fd=5 age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client<\/code><\/pre>\n<h3>CLIENT LIST<\/h3>\n<p>\u83b7\u53d6\u8fde\u63a5\u5230\u670d\u52a1\u5668\u7684\u5ba2\u6237\u7aef\u8fde\u63a5\u5217\u8868\uff0c\u8fd4\u56de\u6240\u6709\u8fde\u63a5\u5230\u670d\u52a1\u5668\u7684\u5ba2\u6237\u7aef\u4fe1\u606f\u548c\u7edf\u8ba1\u6570\u636e<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; CLIENT LIST\naddr=127.0.0.1:43143 fd=6 age=183 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client\naddr=127.0.0.1:43163 fd=5 age=35 idle=15 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=ping\naddr=127.0.0.1:43167 fd=7 age=24 idle=6 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=get<\/code><\/pre>\n<h3>CLIENT GETNAME<\/h3>\n<p>\u83b7\u53d6\u8fde\u63a5\u7684\u540d\u79f0\u3002Client Getname \u547d\u4ee4\u7528\u4e8e\u8fd4\u56de CLIENT SETNAME \u547d\u4ee4\u4e3a\u8fde\u63a5\u8bbe\u7f6e\u7684\u540d\u5b57\u3002\u56e0\u4e3a\u65b0\u521b\u5efa\u7684\u8fde\u63a5\u9ed8\u8ba4\u662f\u6ca1\u6709\u540d\u5b57\u7684\uff0c\u5bf9\u4e8e\u6ca1\u6709\u540d\u5b57\u7684\u8fde\u63a5\uff0cCLIENT GETNAME \u8fd4\u56de\u7a7a\u767d\u56de\u590d\u3002<\/p>\n<pre><code class=\"language-bash\"># \u65b0\u8fde\u63a5\u9ed8\u8ba4\u6ca1\u6709\u540d\u5b57\n\nredis 127.0.0.1:6379&gt; CLIENT GETNAME\n(nil)\n\n# \u8bbe\u7f6e\u540d\u5b57\n\nredis 127.0.0.1:6379&gt; CLIENT SETNAME hello-world-connection\nOK\n\n# \u8fd4\u56de\u540d\u5b57\n\nredis 127.0.0.1:6379&gt; CLIENT GETNAME\n&quot;hello-world-connection&quot;<\/code><\/pre>\n<h3>CLIENT PAUSE timeout<\/h3>\n<p>\u5728\u6307\u5b9a\u65f6\u95f4\u5185\u7ec8\u6b62\u8fd0\u884c\u6765\u81ea\u5ba2\u6237\u7aef\u7684\u547d\u4ee4\uff0c\u7528\u4e8e\u963b\u585e\u5ba2\u6237\u7aef\u547d\u4ee4\u4e00\u6bb5\u65f6\u95f4\uff08\u4ee5\u6beb\u79d2\u8ba1\uff09<\/p>\n<h3>CLIENT SETNAME connection-name<\/h3>\n<p>\u8bbe\u7f6e\u5f53\u524d\u8fde\u63a5\u7684\u540d\u79f0<\/p>\n<pre><code class=\"language-bash\"># \u65b0\u8fde\u63a5\u9ed8\u8ba4\u6ca1\u6709\u540d\u5b57\n\nredis 127.0.0.1:6379&gt; CLIENT GETNAME\n(nil)\n\n# \u8bbe\u7f6e\u540d\u5b57\n\nredis 127.0.0.1:6379&gt; CLIENT SETNAME hello-world-connection\nOK\n\n# \u8fd4\u56de\u540d\u5b57\n\nredis 127.0.0.1:6379&gt; CLIENT GETNAME\n&quot;hello-world-connection&quot;\n\n# \u5728\u5ba2\u6237\u7aef\u5217\u8868\u4e2d\u67e5\u770b\n\nredis 127.0.0.1:6379&gt; CLIENT LIST\naddr=127.0.0.1:36851\nfd=5\nname=hello-world-connection     # &lt;- \u540d\u5b57\nage=51\n...\n\n# \u6e05\u9664\u540d\u5b57\n\nredis 127.0.0.1:6379&gt; CLIENT SETNAME        # \u53ea\u7528\u7a7a\u683c\u662f\u4e0d\u884c\u7684\uff01\n(error) ERR Syntax error, try CLIENT (LIST | KILL ip:port)\n\nredis 127.0.0.1:6379&gt; CLIENT SETNAME &quot;&quot;     # \u5fc5\u987b\u53cc\u5f15\u53f7\u663e\u793a\u5305\u56f4\nOK\n\nredis 127.0.0.1:6379&gt; CLIENT GETNAME        # \u6e05\u9664\u5b8c\u6bd5\n(nil)<\/code><\/pre>\n<h3>CLUSTER SLOTS<\/h3>\n<p>\u83b7\u53d6\u96c6\u7fa4\u8282\u70b9\u7684\u6620\u5c04\u6570\u7ec4\uff0c\u5373\u83b7\u53d6\u5f53\u524d\u7684\u96c6\u7fa4\u72b6\u6001\uff0c\u4ee5\u6570\u7ec4\u5f62\u5f0f\u5c55\u793a<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; cluster slots\n1) 1) (integer) 0\n   2) (integer) 4095\n   3) 1) &quot;127.0.0.1&quot;\n      2) (integer) 7000\n   4) 1) &quot;127.0.0.1&quot;\n      2) (integer) 7004\n2) 1) (integer) 12288\n   2) (integer) 16383\n   3) 1) &quot;127.0.0.1&quot;\n      2) (integer) 7003\n   4) 1) &quot;127.0.0.1&quot;\n      2) (integer) 7007\n3) 1) (integer) 4096\n   2) (integer) 8191\n   3) 1) &quot;127.0.0.1&quot;\n      2) (integer) 7001\n   4) 1) &quot;127.0.0.1&quot;\n      2) (integer) 7005\n4) 1) (integer) 8192\n   2) (integer) 12287\n   3) 1) &quot;127.0.0.1&quot;\n      2) (integer) 7002\n   4) 1) &quot;127.0.0.1&quot;\n      2) (integer) 7006<\/code><\/pre>\n<h3>COMMAND<\/h3>\n<p>\u83b7\u53d6 Redis \u547d\u4ee4\u8be6\u60c5\u6570\u7ec4\uff0c\u8fd4\u56de\u6240\u6709\u7684Redis\u547d\u4ee4\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u4ee5\u6570\u7ec4\u5f62\u5f0f\u5c55\u793a<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; COMMAND <\/code><\/pre>\n<h3>COMMAND COUNT<\/h3>\n<p>\u83b7\u53d6 Redis \u547d\u4ee4\u603b\u6570<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; COMMAND COUNT\n(integer) 163<\/code><\/pre>\n<h3>COMMAND GETKEYS<\/h3>\n<p>\u83b7\u53d6\u7ed9\u5b9a\u547d\u4ee4\u7684\u6240\u6709key<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; COMMAND GETKEYS MSET a b c d e f \n1) &quot;a&quot;\n2) &quot;c&quot;\n3) &quot;e&quot;<\/code><\/pre>\n<h3>TIME<\/h3>\n<p>\u8fd4\u56de\u5f53\u524d\u670d\u52a1\u5668\u65f6\u95f4\uff0c\u662f\u4e00\u4e2a\u5305\u542b\u4e24\u4e2a\u5b57\u7b26\u4e32\u7684\u5217\u8868\uff1a\u7b2c\u4e00\u4e2a\u5b57\u7b26\u4e32\u662f\u5f53\u524d\u65f6\u95f4(\u4ee5 UNIX \u65f6\u95f4\u6233\u683c\u5f0f\u8868\u793a)\uff0c\u800c\u7b2c\u4e8c\u4e2a\u5b57\u7b26\u4e32\u662f\u5f53\u524d\u8fd9\u4e00\u79d2\u949f\u5df2\u7ecf\u901d\u53bb\u7684\u5fae\u79d2\u6570\u3002<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; TIME \n1) &quot;1410856598&quot;\n2) &quot;928370&quot;<\/code><\/pre>\n<h3>COMMAND INFO command-name [command-name &#8230;]<\/h3>\n<p>\u83b7\u53d6\u6307\u5b9a Redis \u547d\u4ee4\u63cf\u8ff0\u7684\u6570\u7ec4<\/p>\n<h3>CONFIG GET parameter<\/h3>\n<p>\u83b7\u53d6\u6307\u5b9a\u914d\u7f6e\u53c2\u6570\u7684\u503c<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; config get *max-*-entries* \n1) &quot;hash-max-zipmap-entries&quot;\n2) &quot;512&quot;\n3) &quot;list-max-ziplist-entries&quot;\n4) &quot;512&quot;\n5) &quot;set-max-intset-entries&quot;\n6) &quot;512&quot;<\/code><\/pre>\n<h3>CONFIG REWRITE<\/h3>\n<p>\u5bf9\u542f\u52a8 Redis \u670d\u52a1\u5668\u65f6\u6240\u6307\u5b9a\u7684<code>redis.conf<\/code>\u914d\u7f6e\u6587\u4ef6\u8fdb\u884c\u6539\u5199<\/p>\n<p>CONFIG SET \u547d\u4ee4\u53ef\u4ee5\u5bf9\u670d\u52a1\u5668\u7684\u5f53\u524d\u914d\u7f6e\u8fdb\u884c\u4fee\u6539\uff0c\u800c\u4fee\u6539\u540e\u7684\u914d\u7f6e\u53ef\u80fd\u548c<code>redis.conf<\/code>\u6587\u4ef6\u4e2d\u6240\u63cf\u8ff0\u7684\u914d\u7f6e\u4e0d\u4e00\u6837\uff0c<code>CONFIG REWRITE<\/code>\u7684\u4f5c\u7528\u5c31\u662f\u901a\u8fc7\u5c3d\u53ef\u80fd\u5c11\u7684\u4fee\u6539\uff0c\u5c06\u670d\u52a1\u5668\u5f53\u524d\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u8bb0\u5f55\u5230<code>redis.conf<\/code>\u6587\u4ef6\u4e2d\u3002<\/p>\n<p>\u4ee5\u4e0b\u662f\u6267\u884c<code>CONFIG REWRITE<\/code>\u524d\uff0c\u88ab\u8f7d\u5165\u5230 Redis \u670d\u52a1\u5668\u7684<code>redis.conf<\/code>\u6587\u4ef6\u4e2d\u5173\u4e8e<code>appendonly<\/code>\u9009\u9879\u7684\u8bbe\u7f6e\uff1a<\/p>\n<pre><code class=\"language-bash\"># ... \u5176\u4ed6\u9009\u9879\n\nappendonly no\n\n# ... \u5176\u4ed6\u9009\u9879<\/code><\/pre>\n<p>\u5728\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u4e4b\u540e\uff1a<\/p>\n<pre><code class=\"language-bash\">127.0.0.1:6379&gt; CONFIG GET appendonly           # appendonly \u5904\u4e8e\u5173\u95ed\u72b6\u6001\n1) &quot;appendonly&quot;\n2) &quot;no&quot;\n\n127.0.0.1:6379&gt; CONFIG SET appendonly yes       # \u6253\u5f00 appendonly\nOK\n\n127.0.0.1:6379&gt; CONFIG GET appendonly\n1) &quot;appendonly&quot;\n2) &quot;yes&quot;\n\n127.0.0.1:6379&gt; CONFIG REWRITE                  # \u5c06 appendonly \u7684\u4fee\u6539\u5199\u5165\u5230 redis.conf \u4e2d\nOK<\/code><\/pre>\n<p>\u91cd\u5199\u540e\u7684 redis.conf \u6587\u4ef6\u4e2d\u7684 appendonly \u9009\u9879\u5c06\u88ab\u6539\u5199\uff1a<\/p>\n<pre><code class=\"language-bash\"># ... \u5176\u4ed6\u9009\u9879\n\nappendonly yes\n\n# ... \u5176\u4ed6\u9009\u9879<\/code><\/pre>\n<h3>CONFIG SET parameter value<\/h3>\n<p>\u4fee\u6539 redis \u914d\u7f6e\u53c2\u6570\uff0c\u65e0\u9700\u91cd\u542f<\/p>\n<p>\u53ef\u4ee5\u4f7f\u7528\u5b83\u4fee\u6539\u914d\u7f6e\u53c2\u6570\uff0c\u6216\u8005\u6539\u53d8 Redis \u7684\u6301\u4e45\u5316(Persistence)\u65b9\u5f0f<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; CONFIG GET slowlog-max-len\n1) &quot;slowlog-max-len&quot;\n2) &quot;1024&quot;\n\nredis 127.0.0.1:6379&gt; CONFIG SET slowlog-max-len 10086\nOK\n\nredis 127.0.0.1:6379&gt; CONFIG GET slowlog-max-len\n1) &quot;slowlog-max-len&quot;\n2) &quot;10086&quot;<\/code><\/pre>\n<h3>CONFIG RESETSTAT<\/h3>\n<p>\u91cd\u7f6e INFO \u547d\u4ee4\u4e2d\u7684\u67d0\u4e9b\u7edf\u8ba1\u6570\u636e\uff0c\u5305\u62ec\uff1a<\/p>\n<ul>\n<li>Keyspace hits (\u952e\u7a7a\u95f4\u547d\u4e2d\u6b21\u6570)<\/li>\n<li>Keyspace misses (\u952e\u7a7a\u95f4\u4e0d\u547d\u4e2d\u6b21\u6570)<\/li>\n<li>Number of commands processed (\u6267\u884c\u547d\u4ee4\u7684\u6b21\u6570)<\/li>\n<li>Number of connections received (\u8fde\u63a5\u670d\u52a1\u5668\u7684\u6b21\u6570)<\/li>\n<li>Number of expired keys (\u8fc7\u671fkey\u7684\u6570\u91cf)<\/li>\n<li>Number of rejected connections (\u88ab\u62d2\u7edd\u7684\u8fde\u63a5\u6570\u91cf)<\/li>\n<li>Latest fork(2) time (\u6700\u540e\u6267\u884c fork(2) \u7684\u65f6\u95f4)<\/li>\n<li>The aof_delayed_fsync counter (aof_delayed_fsync \u8ba1\u6570\u5668\u7684\u503c)<\/li>\n<\/ul>\n<h3>DBSIZE<\/h3>\n<p>\u8fd4\u56de\u5f53\u524d\u6570\u636e\u5e93\u7684 key \u7684\u6570\u91cf<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; DBSIZE\n(integer) 5\n\nredis 127.0.0.1:6379&gt; SET new_key &quot;hello_moto&quot;     # \u589e\u52a0\u4e00\u4e2a key \u8bd5\u8bd5\nOK\n\nredis 127.0.0.1:6379&gt; DBSIZE\n(integer) 6<\/code><\/pre>\n<h3>DEBUG OBJECT key<\/h3>\n<p>\u83b7\u53d6 key \u7684\u8c03\u8bd5\u4fe1\u606f<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; DEBUG OBJECT my_pc\nValue at:0xb6838d20 refcount:1 encoding:raw serializedlength:9 lru:283790 lru_seconds_idle:150\n\nredis 127.0.0.1:6379&gt; DEBUG OBJECT your_mac\n(error) ERR no such key<\/code><\/pre>\n<h3>DEBUG SEGFAULT<\/h3>\n<p>\u8ba9 Redis \u670d\u52a1\u5d29\u6e83<\/p>\n<p>Redis Debug Segfault \u547d\u4ee4\u6267\u884c\u4e00\u4e2a\u975e\u6cd5\u7684\u5185\u5b58\u8bbf\u95ee\u4ece\u800c\u8ba9 Redis \u5d29\u6e83\uff0c\u4ec5\u5728\u5f00\u53d1\u65f6\u7528\u4e8e BUG \u8c03\u8bd5<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; DEBUG SEGFAULT \nCould not connect to Redis at 127.0.0.1:6379: Connection refused\nnot connected&gt;<\/code><\/pre>\n<h3>FLUSHALL<\/h3>\n<p>\u5220\u9664\u6240\u6709\u6570\u636e\u5e93\u7684\u6240\u6709key<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; DBSIZE         # 0 \u53f7\u6570\u636e\u5e93\u7684 key \u6570\u91cf\n(integer) 9\n\nredis 127.0.0.1:6379&gt; SELECT 1       # \u5207\u6362\u5230 1 \u53f7\u6570\u636e\u5e93\nOK\n\nredis 127.0.0.1:6379&gt; DBSIZE         # 1 \u53f7\u6570\u636e\u5e93\u7684 key \u6570\u91cf\n(integer) 6\n\nredis 127.0.0.1:6379&gt; flushall       # \u6e05\u7a7a\u6240\u6709\u6570\u636e\u5e93\u7684\u6240\u6709 key\nOK\n\nredis 127.0.0.1:6379&gt; DBSIZE         # \u4e0d\u4f46 1 \u53f7\u6570\u636e\u5e93\u88ab\u6e05\u7a7a\u4e86\n(integer) 0\n\nredis 127.0.0.1:6379&gt; SELECT 0       # 0 \u53f7\u6570\u636e\u5e93(\u4ee5\u53ca\u5176\u4ed6\u6240\u6709\u6570\u636e\u5e93)\u4e5f\u4e00\u6837\nOK\n\nredis 127.0.0.1:6379&gt; DBSIZE\n(integer) 0<\/code><\/pre>\n<h3>FLUSHDB<\/h3>\n<p>\u5220\u9664\u5f53\u524d\u6570\u636e\u5e93\u7684\u6240\u6709key<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; DBSIZE    # \u6e05\u7a7a\u524d\u7684 key \u6570\u91cf\n(integer) 4\n\nredis 127.0.0.1:6379&gt; FLUSHDB\nOK\n\nredis 127.0.0.1:6379&gt; DBSIZE    # \u6e05\u7a7a\u540e\u7684 key \u6570\u91cf\n(integer) 0<\/code><\/pre>\n<h3>INFO [section]<\/h3>\n<p>\u83b7\u53d6 Redis \u670d\u52a1\u5668\u7684\u5404\u79cd\u4fe1\u606f\u548c\u7edf\u8ba1\u6570\u503c<\/p>\n<p>\u901a\u8fc7\u7ed9\u5b9a\u53ef\u9009\u7684\u53c2\u6570 section \uff0c\u53ef\u4ee5\u8ba9\u547d\u4ee4\u53ea\u8fd4\u56de\u67d0\u4e00\u90e8\u5206\u7684\u4fe1\u606f\uff1a<\/p>\n<ul>\n<li>server: \u4e00\u822c Redis \u670d\u52a1\u5668\u4fe1\u606f<\/li>\n<li>clients: \u5df2\u8fde\u63a5\u5ba2\u6237\u7aef\u4fe1\u606f<\/li>\n<li>memory: \u5185\u5b58\u4fe1\u606f<\/li>\n<li>persistence: RDB \u548c AOF \u7684\u76f8\u5173\u4fe1\u606f<\/li>\n<li>stats: \u4e00\u822c\u7edf\u8ba1\u4fe1\u606f<\/li>\n<li>replication: \u4e3b\/\u4ece\u590d\u5236\u4fe1\u606f<\/li>\n<li>cpu: CPU \u8ba1\u7b97\u91cf\u7edf\u8ba1\u4fe1\u606f<\/li>\n<li>commandstats: Redis \u547d\u4ee4\u7edf\u8ba1\u4fe1\u606f<\/li>\n<li>cluster: Redis \u96c6\u7fa4\u4fe1\u606f<\/li>\n<li>keyspace: \u6570\u636e\u5e93\u76f8\u5173\u7684\u7edf\u8ba1\u4fe1\u606f<\/li>\n<\/ul>\n<h3>LASTSAVE<\/h3>\n<p>\u8fd4\u56de\u6700\u8fd1\u4e00\u6b21 Redis \u6210\u529f\u5c06\u6570\u636e\u4fdd\u5b58\u5230\u78c1\u76d8\u4e0a\u7684\u65f6\u95f4\uff0c\u4ee5 UNIX \u65f6\u95f4\u6233\u683c\u5f0f\u8868\u793a<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; LASTSAVE \n(integer) 1410853592<\/code><\/pre>\n<h3>MONITOR<\/h3>\n<p>\u5b9e\u65f6\u6253\u5370\u51fa Redis \u670d\u52a1\u5668\u63a5\u6536\u5230\u7684\u547d\u4ee4\uff0c\u8c03\u8bd5\u7528<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; MONITOR \nOK\n1410855382.370791 [0 127.0.0.1:60581] &quot;info&quot;\n1410855404.062722 [0 127.0.0.1:60581] &quot;get&quot; &quot;a&quot;<\/code><\/pre>\n<h3>ROLE<\/h3>\n<p>\u8fd4\u56de\u4e3b\u4ece\u5b9e\u4f8b\u6240\u5c5e\u7684\u89d2\u8272\uff0c\u89d2\u8272\u6709master, slave, sentinel<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; ROLE \n1) &quot;master&quot;\n2) (integer) 0\n3) (empty list or set)\nredis&gt; <\/code><\/pre>\n<h3>SAVE<\/h3>\n<p>\u540c\u6b65\u4fdd\u5b58\u6570\u636e\u5230\u786c\u76d8<\/p>\n<p>Redis Save \u547d\u4ee4\u6267\u884c\u4e00\u4e2a\u540c\u6b65\u4fdd\u5b58\u64cd\u4f5c\uff0c\u5c06\u5f53\u524d Redis \u5b9e\u4f8b\u7684\u6240\u6709\u6570\u636e\u5feb\u7167(snapshot)\u4ee5 RDB \u6587\u4ef6\u7684\u5f62\u5f0f\u4fdd\u5b58\u5230\u786c\u76d8<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; SAVE \nOK<\/code><\/pre>\n<h3>SHUTDOWN [NOSAVE] [SAVE]<\/h3>\n<p>\u5f02\u6b65\u4fdd\u5b58\u6570\u636e\u5230\u786c\u76d8\uff0c\u5e76\u5173\u95ed\u670d\u52a1\u5668\u3002Redis Shutdown \u547d\u4ee4\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a<\/p>\n<ul>\n<li>\u505c\u6b62\u6240\u6709\u5ba2\u6237\u7aef<\/li>\n<li>\u5982\u679c\u6709\u81f3\u5c11\u4e00\u4e2a\u4fdd\u5b58\u70b9\u5728\u7b49\u5f85\uff0c\u6267\u884c SAVE \u547d\u4ee4<\/li>\n<li>\u5982\u679c AOF \u9009\u9879\u88ab\u6253\u5f00\uff0c\u66f4\u65b0 AOF \u6587\u4ef6<\/li>\n<li>\u5173\u95ed redis \u670d\u52a1\u5668(server)<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; PING\nPONG\n\nredis 127.0.0.1:6379&gt; SHUTDOWN\n\n$\n\n$ redis-cli\nCould not connect to Redis at: Connection refused\nnot connected&gt;<\/code><\/pre>\n<h3>SLAVEOF host port<\/h3>\n<p>\u5c06\u5f53\u524d\u670d\u52a1\u5668\u8f6c\u53d8\u4e3a\u6307\u5b9a\u670d\u52a1\u5668\u7684\u4ece\u5c5e\u670d\u52a1\u5668(slave server)<\/p>\n<ul>\n<li>Redis Slaveof \u547d\u4ee4\u53ef\u4ee5\u5c06\u5f53\u524d\u670d\u52a1\u5668\u8f6c\u53d8\u4e3a\u6307\u5b9a\u670d\u52a1\u5668\u7684\u4ece\u5c5e\u670d\u52a1\u5668(slave server)<\/li>\n<li>\u5982\u679c\u5f53\u524d\u670d\u52a1\u5668\u5df2\u7ecf\u662f\u67d0\u4e2a\u4e3b\u670d\u52a1\u5668(master server)\u7684\u4ece\u5c5e\u670d\u52a1\u5668\uff0c\u90a3\u4e48\u6267\u884c SLAVEOF host port \u5c06\u4f7f\u5f53\u524d\u670d\u52a1\u5668\u505c\u6b62\u5bf9\u65e7\u4e3b\u670d\u52a1\u5668\u7684\u540c\u6b65\uff0c\u4e22\u5f03\u65e7\u6570\u636e\u96c6\uff0c\u8f6c\u800c\u5f00\u59cb\u5bf9\u65b0\u4e3b\u670d\u52a1\u5668\u8fdb\u884c\u540c\u6b65<\/li>\n<li>\u53e6\u5916\uff0c\u5bf9\u4e00\u4e2a\u4ece\u5c5e\u670d\u52a1\u5668\u6267\u884c\u547d\u4ee4 SLAVEOF NO ONE \u5c06\u4f7f\u5f97\u8fd9\u4e2a\u4ece\u5c5e\u670d\u52a1\u5668\u5173\u95ed\u590d\u5236\u529f\u80fd\uff0c\u5e76\u4ece\u4ece\u5c5e\u670d\u52a1\u5668\u8f6c\u53d8\u56de\u4e3b\u670d\u52a1\u5668\uff0c\u539f\u6765\u540c\u6b65\u6240\u5f97\u7684\u6570\u636e\u96c6\u4e0d\u4f1a\u88ab\u4e22\u5f03<\/li>\n<li>\u5229\u7528\u300e SLAVEOF NO ONE \u4e0d\u4f1a\u4e22\u5f03\u540c\u6b65\u6240\u5f97\u6570\u636e\u96c6\u300f\u8fd9\u4e2a\u7279\u6027\uff0c\u53ef\u4ee5\u5728\u4e3b\u670d\u52a1\u5668\u5931\u8d25\u7684\u65f6\u5019\uff0c\u5c06\u4ece\u5c5e\u670d\u52a1\u5668\u7528\u4f5c\u65b0\u7684\u4e3b\u670d\u52a1\u5668\uff0c\u4ece\u800c\u5b9e\u73b0\u65e0\u95f4\u65ad\u8fd0\u884c<\/li>\n<\/ul>\n<h3>SLOWLOG subcommand [argument]<\/h3>\n<p>\u7ba1\u7406 redis \u7684\u6162\u65e5\u5fd7<\/p>\n<ul>\n<li>Redis slowlog \u662f Redis \u7528\u6765\u8bb0\u5f55\u67e5\u8be2\u6267\u884c\u65f6\u95f4\u7684\u65e5\u5fd7\u7cfb\u7edf<\/li>\n<li>\u67e5\u8be2\u6267\u884c\u65f6\u95f4\u6307\u7684\u662f\u4e0d\u5305\u62ec\u50cf\u5ba2\u6237\u7aef\u54cd\u5e94(talking)\u3001\u53d1\u9001\u56de\u590d\u7b49 IO \u64cd\u4f5c\uff0c\u800c\u5355\u5355\u662f\u6267\u884c\u4e00\u4e2a\u67e5\u8be2\u547d\u4ee4\u6240\u8017\u8d39\u7684\u65f6\u95f4<\/li>\n<li>\u53e6\u5916\uff0cslow log \u4fdd\u5b58\u5728\u5185\u5b58\u91cc\u9762\uff0c\u8bfb\u5199\u901f\u5ea6\u975e\u5e38\u5feb\uff0c\u56e0\u6b64\u53ef\u4ee5\u653e\u5fc3\u5730\u4f7f\u7528\u5b83\uff0c\u4e0d\u5fc5\u62c5\u5fc3\u56e0\u4e3a\u5f00\u542f slow log \u800c\u635f\u5bb3 Redis \u7684\u901f\u5ea6<\/li>\n<\/ul>\n<p>\u67e5\u770b\u65e5\u5fd7\u4fe1\u606f\uff1a<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; slowlog get 2\n1) 1) (integer) 14\n   2) (integer) 1309448221\n   3) (integer) 15\n   4) 1) &quot;ping&quot;\n2) 1) (integer) 13\n   2) (integer) 1309448128\n   3) (integer) 30\n   4) 1) &quot;slowlog&quot;\n      2) &quot;get&quot;\n      3) &quot;100&quot;<\/code><\/pre>\n<p>\u67e5\u770b\u5f53\u524d\u65e5\u5fd7\u7684\u6570\u91cf\uff1a<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; SLOWLOG LEN\n(integer) 14<\/code><\/pre>\n<p>\u4f7f\u7528\u547d\u4ee4 SLOWLOG RESET \u53ef\u4ee5\u6e05\u7a7a slow log<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; SLOWLOG LEN\n(integer) 14\n\nredis 127.0.0.1:6379&gt; SLOWLOG RESET\nOK\n\nredis 127.0.0.1:6379&gt; SLOWLOG LEN\n(integer) 0<\/code><\/pre>\n<h3>SYNC<\/h3>\n<p>\u7528\u4e8e\u590d\u5236\u529f\u80fd(replication)\u7684\u5185\u90e8\u547d\u4ee4\uff0c\u7528\u4e8e\u540c\u6b65\u4e3b\u4ece\u670d\u52a1\u5668<\/p>\n<pre><code class=\"language-bash\">redis 127.0.0.1:6379&gt; SYNC \nEntering slave output mode...  (press Ctrl-C to quit)\nSYNC with master, discarding 18 bytes of bulk transfer...\nSYNC done. Logging commands from master.\n&quot;PING&quot;\n&quot;PING&quot;\n&quot;PING&quot;\n&quot;PING&quot;<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>BGREWRITEAOF \u5f02\u6b65\u6267\u884c\u4e00\u4e2a AOF\uff08AppendOnly File\uff09 \u6587\u4ef6\u91cd\u5199\u64cd\u4f5c Bgrewri [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":["post-267","post","type-post","status-publish","format-standard","hentry","category-redis"],"_links":{"self":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/comments?post=267"}],"version-history":[{"count":0,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/267\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/media?parent=267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/categories?post=267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/tags?post=267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}