{
  "version": "https://jsonfeed.org/version/1", 
  "title": "Redis", 
  "description": "Redis \u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u6570\u636e\u7ed3\u6784\u670d\u52a1\u5668\u3002Redis \u4e2d\u7684 key \u53ef\u4ee5\u652f\u6301\u591a\u79cd\u4e0d\u540c\u7684\u6570\u636e\u7ed3\u6784\uff0c\u5305\u62ec\uff1a\u5b57\u7b26\u4e32\uff0c\u5217\u8868\uff0c\u96c6\u5408\uff0csort set \u7b49\u7b49\u3002", 
  "home_page_url": "https://www.v2ex.com/go/redis", 
  "feed_url": "https://www.v2ex.com/feed/redis.json", 
  "icon": "https://cdn.v2ex.com/navatar/67c6/a1e7/47_large.png?m=1608052197", 
  "favicon": "https://cdn.v2ex.com/navatar/67c6/a1e7/47_normal.png?m=1608052197", 
  "items": [
    {
      "author": {
        "url": "https://www.v2ex.com/member/Vraw5", 
        "name": "Vraw5", 
        "avatar": "https://cdn.v2ex.com/gravatar/30365489c43a99273063d13056bd340a?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1165049", 
      "title": "\u963f\u91cc\u4e91 Redis \u547d\u4e2d\u7387\u8ba1\u7b97\u4e0e\u76d1\u63a7\u7684\u95ee\u9898", 
      "id": "https://www.v2ex.com/t/1165049", 
      "date_published": "2025-10-14T02:16:56+00:00", 
      "content_html": "\u533a\u95f4\u4e3a 5s \uff0c00:00 \u7684 hit \u4e0e miss \u503c\u4e0e 00:05 \u7684\u503c\u90fd\u76f8\u7b49\uff0c\u4e5f\u5c31\u662f\u8bf4 5s \u91cc redis \u90fd\u6ca1\u6709 qps \u3002\u90a3\u6b64\u65f6\u7684\u547d\u4e2d\u7387\u5e94\u8be5\u662f\u591a\u5c11\u5462\uff1f<br />-----<br />\u5728\u963f\u91cc\u4e91\u4e0a\uff0c\u4ece Redis \u5f00\u6e90\u7248 4.0 \u5347\u7ea7\u81f3 5.0 \u540e\uff0c\u547d\u4e2d\u7387\u76d1\u63a7\u6301\u7eed\u62a5\u8b66\u8bf4\u547d\u4e2d\u7387\u53ea\u6709 40%\u5de6\u53f3\u3002\u901a\u8fc7 info \u67e5\u770b\uff0c\u81ea\u5df1\u6309\u7167 `\u547d\u4e2d\u7387=Key \u547d\u4e2d\u6570\u00f7\uff08 Key \u547d\u4e2d\u6570+Key \u672a\u547d\u4e2d\u6570\uff09`\u8ba1\u7b97\uff0c\u547d\u4e2d\u7387\u5e94\u8be5\u5728 90%\u4ee5\u4e0a\uff0c\u9042\u63d0\u4ea4\u5de5\u5355\u8be2\u95ee\u76d1\u63a7\u547d\u4e2d\u7387\u8ba1\u7b97\u95ee\u9898\u3002\u7ecf\u8fc7 3 \u4e2a\u534a\u5c0f\u65f6\u7684\u5185\u90e8\u8ba8\u8bba\u7ed9\u4e86\u5982\u4e0b\u56de\u590d(\u5ffd\u7565\u6807\u9898\u5185\u5bb9)\u3002<br /><a target=\"_blank\" href=\"https://i.imgur.com/ZT2rGD6.jpeg\" rel=\"nofollow noopener\" target=\"_blank\"><img src=\"https://i.imgur.com/ZT2rGD6.jpeg\" class=\"embedded_image\" rel=\"noreferrer\"></a><br /><br /><br />\u963f\u91cc\u4e91\u547d\u4e2d\u7387\u6307\u6807\u7684\u83b7\u53d6\u6700\u5c0f\u5468\u671f\u662f 5s \uff0c\u4e5f\u5c31\u662f 5s \u5185\u90fd\u6ca1\u6709 QPS \u7684\u65f6\u5019\uff0c\u8fd9 5s \u7684\u547d\u4e2d\u7387\u5c31\u4e3a 0 \uff08\u4ee5\u524d\u4e3a 100%\uff09\u3002\u9664\u975e\u6bcf\u79d2\u90fd\u6709 QPS \uff0c\u90a3\u5728\u963f\u91cc\u4e91\u4e91\u76d1\u63a7\u4e2d\uff0c\u90a3\u523b\u7684\u547d\u4e2d\u7387\u624d\u4f1a\u663e\u793a\u4e3a 100%\u3002\u4e0b\u56fe\u5c31\u662f\u4e3a 0 \u7684\u60c5\u51b5\u3002<a target=\"_blank\" href=\"https://i.imgur.com/cCbgMnS.png\" rel=\"nofollow noopener\" target=\"_blank\"><img src=\"https://i.imgur.com/cCbgMnS.png\" class=\"embedded_image\" rel=\"noreferrer\"></a><br /><br /><br />\u8d8a\u770b\u8fd9\u4e2a\u903b\u8f91\u8d8a\u522b\u626d\u3002\u50cf\u4e0a\u56fe\u8fd9\u79cd\u6b63\u5e38\u60c5\u51b5\u4e0b\uff0c\u547d\u4e2d\u7387\u6307\u6807\u80fd\u8986\u76d6 0%-100%\uff0c\u8fd9\u8fd8\u548b\u8bbe\u7f6e\u76d1\u63a7\u5462\u3002<br />\u6211\u4eec\u4e1a\u52a1\u65e0\u6cd5\u4fdd\u969c\u6bcf\u79d2\u90fd\u6709 qps \uff0c\u6309\u7167\u73b0\u5728\u7684\u7b97\u6cd5\uff0c1 \u5206\u949f\u7684\u533a\u95f4\uff0c\u665a\u4e0a\u7684\u547d\u4e2d\u7387\u80fd\u5230 10%\uff0c\u767d\u5929\u53ef\u80fd\u5230 80%\uff0c\u76d1\u63a7\u547d\u4e2d\u7387\u5b8c\u5168\u65e0\u6cd5\u8bbe\u7f6e\u9608\u503c\uff0c\u5982\u679c\u8bbe\u7f6e\u8fc7\u4f4e\uff0c\u767d\u5929\u7684 key miss \u53ef\u80fd\u5c31\u65e0\u6cd5\u89e6\u53d1\u62a5\u8b66\uff0c\u8bbe\u7f6e\u7565\u9ad8\uff0c\u665a\u4e0a\u62a5\u8b66\u4e0d\u65ad\u3002\u3002\u3002"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/zhangshaohan", 
        "name": "zhangshaohan", 
        "avatar": "https://cdn.v2ex.com/avatar/66d5/eebe/424937_large.png?m=1758694576"
      }, 
      "url": "https://www.v2ex.com/t/1122194", 
      "title": "Redis \u8fd0\u884c\u4e00\u6bb5\u65f6\u95f4\u540e\u62a5\u9519\u5bfc\u81f4\u6302\u6389\uff0c\u6709\u4ec0\u4e48\u529e\u6cd5\u89e3\u51b3\u5462\uff1f", 
      "id": "https://www.v2ex.com/t/1122194", 
      "date_published": "2025-03-31T02:37:06+00:00", 
      "content_html": "\u4f7f\u7528 docker \u5b89\u88c5\u7684 Redis \uff0c\u7248\u672c 7.4.1 \uff0c\u6302\u8f7d config \u548c data \u6587\u4ef6\u5939\u5230\u5bbf\u4e3b\u673a\uff0c\u8fd0\u884c\u4e00\u6bb5\u65f6\u95f4\uff08\u4e00\u4e2a\u6708\uff09\u540e\u7a81\u7136\u53d1\u73b0\u6302\u6389\u4e86\uff0c\u67e5\u770b\u65e5\u5fd7\u6709\u5982\u4e0b\u4fe1\u606f\uff0c\u770b\u4e0a\u53bb\u50cf\u662f aof \u6587\u4ef6\u635f\u574f\uff0c\u5982\u4f55\u907f\u514d\u8fd9\u4e2a\u95ee\u9898\u5462\uff1f<br /><br />1:C 31 Mar 2025 10:15:53.909 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see <a target=\"_blank\" href=\"https://github.com/jemalloc/jemalloc/issues/1328\" rel=\"nofollow noopener\">https://github.com/jemalloc/jemalloc/issues/1328</a>. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.<br />1:C 31 Mar 2025 10:15:53.909 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo<br />1:C 31 Mar 2025 10:15:53.909 * Redis version=7.4.1, bits=64, commit=00000000, modified=0, pid=1, just started<br />1:C 31 Mar 2025 10:15:53.909 * Configuration loaded<br />1:M 31 Mar 2025 10:15:53.909 * monotonic clock: POSIX clock_gettime<br />1:M 31 Mar 2025 10:15:53.910 # Failed to write PID file: Permission denied<br />1:M 31 Mar 2025 10:15:53.910 * Running mode=standalone, port=6379.<br />1:M 31 Mar 2025 10:15:53.910 # 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 />1:M 31 Mar 2025 10:15:53.910 * Server initialized<br />1:M 31 Mar 2025 10:15:53.910 * Reading RDB base file on AOF loading...<br />1:M 31 Mar 2025 10:15:53.910 * Loading RDB produced by version 7.4.1<br />1:M 31 Mar 2025 10:15:53.910 * RDB age 159448 seconds<br />1:M 31 Mar 2025 10:15:53.910 * RDB memory usage when created 3.08 Mb<br />1:M 31 Mar 2025 10:15:53.910 * RDB is base AOF<br />1:M 31 Mar 2025 10:15:53.915 * Done loading RDB, keys loaded: 1103, keys expired: 0.<br />1:M 31 Mar 2025 10:15:53.916 * DB loaded from base file appendonly.aof.12754.base.rdb: 0.006 seconds<br />1:M 31 Mar 2025 10:15:54.042 # Bad file format reading the append only file appendonly.aof.12754.incr.aof: make a backup of your AOF file, then use ./redis-check-aof --fix &lt;filename.manifest&gt;"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/xiaohupro", 
        "name": "xiaohupro", 
        "avatar": "https://cdn.v2ex.com/avatar/2bdc/ec33/608363_large.png?m=1760687312"
      }, 
      "url": "https://www.v2ex.com/t/1114525", 
      "date_modified": "2025-02-27T02:26:58+00:00", 
      "content_html": "<p>\u65e9\u5728 4 \u5e74\u524d\uff0c\u5f53\u6211\u53d1\u73b0 Redis5 \u4e2d\u589e\u52a0\u4e86 Stream \u7c7b\u578b\u540e\u6211\u5c31\u89c9\u5f97\u5b83\u7684\u8fd9\u4e9b\u7279\u6027\u5b8c\u5168\u53ef\u4ee5\u5b9e\u73b0\u4e00\u4e2a\u5b8c\u6574\u7684 MQ \u4e2d\u95f4\u4ef6\u529f\u80fd\uff0c\u5f53\u65f6\u6211\u8fd8\u5728\u4ea4\u63a7\u5de5\u4f5c\uff0c\u5f53\u65f6\u7684\u9879\u76ee\u521a\u597d\u6d89\u53ca\u5230\u5927\u91cf\u6570\u636e\u5165\u5e93\u7684\u4e00\u4e2a\u9700\u6c42\uff0c\u5f53\u65f6\u8fd9\u4e2a\u9879\u76ee\u4e0d\u7b97\u5f88\u5927\uff0c\u6240\u4ee5\u6211\u5c31\u60f3\u628a\u8fd9\u4e2a\u65b0\u7684\u6280\u672f\u5f15\u5165\u5230\u9879\u76ee\u4e2d\uff0c\u5b9e\u73b0\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u57fa\u4e8e Redis \u7684\u6d88\u606f\u961f\u5217\u3002</p>\n<p>\u6700\u7ec8\u57fa\u672c\u4e0a\u5b9e\u73b0\u4e86\u8fd9\u4e2a\u529f\u80fd\uff0c\u5f53\u65f6\u4e5f\u505a\u4e86\u4e00\u4e2a\u57fa\u4e8e SpringBoot \u7684 Demo \uff0c\u540e\u6765\u53c8\u6539\u4e86\u4e00\u7248\u57fa\u4e8e Jedis \u7248\u672c\u7684\uff0c\u56e0\u4e3a\u53ef\u4ee5\u81ea\u5df1\u5b9a\u4e49\u548c\u64cd\u4f5c\u591a\u7ebf\u7a0b\uff0c\u66f4\u52a0\u7075\u6d3b\u81ea\u7531\u7684\u5b9e\u73b0\u4e00\u4e9b\u7ec6\u8282\u3002</p>\n<p>\u6700\u8fd1\u63d0\u79bb\u804c\u540e\u6b63\u5728\u4ea4\u63a5\u671f\uff0c\u81ea\u5df1\u7684\u65f6\u95f4\u6bd4\u8f83\u591a\uff0c\u53c8\u7ffb\u51fa\u8fd9\u4e2a\u65e9\u8d77\u7684 Demo \uff0c\u60f3\u6539\u9020\u4e00\u4e0b\uff0c\u7528\u5230\u6211\u7684\u5fc3\u60c5\u8bb0\u5f55\u5458\u9879\u76ee\u4e2d\uff0c\u5982\u679c\u7cbe\u529b\u548c\u65f6\u95f4\u6709\u7684\u8bdd\u6211\u66f4\u60f3\u5c06\u5b83\u5b8c\u5584\u4e3a\u4e00\u4e2a\u5b8c\u6574\u7684\u3001\u53ef\u590d\u7528\u7684\u9879\u76ee\u3002</p>\n<p>\u5fc3\u60c5\u8bb0\u5f55\u5458\u5c0f\u7a0b\u5e8f\u4e3a\u4ec0\u4e48\u8981\u7528\u5230\u8fd9\u4e2a\uff1f\u4ee5\u53ca\u4e3a\u4ec0\u4e48\u4e0d\u7528\u5176\u4ed6\u6210\u719f\u7684 RabbitMQ \uff0c\u9996\u5148\u4e0d\u7528\u5176\u4ed6\u6210\u719f\u7684\u539f\u56e0\u662f\u6211\u4e0d\u60f3\u641e\u592a\u591a\u4e2d\u95f4\u4ef6\uff0c\u4e00\u4e2a\u9879\u76ee\u4e2d Redis \u5b89\u88c5\u662f\u5927\u591a\u6570\u60c5\u51b5\uff0c\u56e0\u6b64\u6211\u60f3\u5728\u4fdd\u6301\u5355\u4f53\u5e94\u7528\u7684\u57fa\u7840\u4e0a\u5b9e\u73b0\u4e00\u4e2a MQ \uff0c\u53e6\u5916\u7684\u4e00\u4e2a\u539f\u56e0\u5c31\u662f\u6298\u817e\uff0c\u8fd9\u4e5f\u662f\u6211\u672c\u4eba\u7684\u4e00\u4e2a\u201c\u7f3a\u70b9\u201d\uff0c\u4ec0\u4e48\u90fd\u559c\u6b22\u81ea\u5df1\u6298\u817e\u4e00\u4e0b\uff0c\u9a8c\u8bc1\u53ef\u884c\u6027\u3002\u63a5\u4e0b\u6765\u8bf4\u8bf4\u5e94\u7528\u573a\u666f\u5427\uff0c\u5fc3\u60c5\u8bb0\u5f55\u5458\u8fd9\u6b3e\u5c0f\u7a0b\u5e8f\u76ee\u524d\u8c03\u7528\u7684 AI \u662f Kimi \u7684\u5e73\u53f0\uff0c\u76ee\u524d\u56e0\u4e3a\u662f\u524d\u671f\uff0c\u56e0\u6b64\u662f\u514d\u8d39\u7248\u672c\uff0c\u5e76\u53d1\u6570\u9650\u5236\u5230\u4e86 1 \uff0c\u8fd9\u5c31\u4f1a\u5bfc\u81f4\u4e00\u4e2a\u95ee\u9898\uff0c\u5982\u679c\u540c\u65f6\u6709\u4e24\u4e2a\u6216\u8005\u591a\u4e2a\uff08\u610f\u6deb\u4e00\u4e0b\uff0c\u54c8\u54c8\u54c8\uff09\u540c\u65f6\u70b9\u4e86\u8bb0\u5f55\u7684\u65f6\u5019\uff0c\u8fd9\u65f6\u5019\u6709\u4e00\u4e2a\u80af\u5b9a\u4f1a\u62a5\u9519\uff0c\u8fd9\u65f6\u5019\u5c31\u53ef\u4ee5\u7528\u5230\u6d88\u606f\u961f\u5217\u4e86\uff0c\u5c06\u8bf7\u6c42\u7684\u6570\u636e\u5148\u653e\u5165\u961f\u5217\uff0c\u7b49\u524d\u4e00\u4e2a AI \u751f\u6210\u7ed3\u675f\u540e\u518d\u6b21\u8c03\u7528\uff0c\u5c31\u8fd9\uff1f\u2026\u2026\uff0c\u4e00\u4e2a\u961f\u5217\u4e0d\u5c31\u641e\u5b9a\u4e86\u5417\uff1f\u5f53\u7136\u8fd8\u6709\u573a\u666f\u4e86\uff0c\u90a3\u5c31\u662f\u76ee\u524d AI \u751f\u6210\u6211\u91c7\u7528\u7684\u662f Stream \u6d41\u5f0f\u8fd4\u56de\uff0c\u800c\u6211\u662f\u5728\u70b9\u51fb\u8bb0\u5f55\u540e\u5c31\u5f00\u59cb\u751f\u6210\uff0c\u70b9\u51fb\u8bb0\u5f55\u540e\u4f1a\u8df3\u8f6c\u5230\u7ed3\u679c\u9875\u9762\uff0c\u4e3a\u4e86\u4f7f\u7528\u6237\u8df3\u8fc7\u53bb\u7acb\u9a6c\u5c31\u611f\u89c9\u5230\u5728\u751f\u6210\uff0c\u56e0\u6b64\u6211\u5c31\u5c06\u8c03\u7528 AI \u63a5\u53e3\u7684\u52a8\u4f5c\u63d0\u524d\u5230\u8df3\u8f6c\u9875\u9762\u524d\u70b9\u51fb\u8bb0\u5f55\u6309\u94ae\u540e\uff0c\u7136\u540e\u7ed9\u4e00\u5b9a\u5230 Loading \u5ef6\u8fdf\u5728\u8df3\u8f6c\uff0c\u8df3\u8f6c\u5230\u7ed3\u679c\u9875\u540e\u5efa\u7acb WebSocket \u8fde\u63a5\uff0c\u6839\u636e openId \u6807\u8bc6\u63a5\u6536\u6d88\u606f\uff0c\u8fd9\u65f6\u5019\u8fd9\u4e2a\u6d88\u606f\u5176\u5b9e\u5df2\u7ecf\u5728\u4e0a\u4e00\u6b65\u4e2d\u5728\u751f\u6210\u4e86\uff0c\u8fd9\u91cc\u5c31\u53ef\u4ee5\u7528\u5230\u6d88\u606f\u961f\u5217\u4e86\uff0c\u6839\u636e\u5bf9\u5e94\u7684 openId \u5230\u6d88\u606f\u961f\u5217\u4e2d\u53d6\u5185\u5bb9\uff0c\u670d\u52a1\u7aef\u7684 WebSocket \u53ea\u9700\u8981\u6839\u636e\u6807\u8bc6\u4ece\u6d88\u606f\u961f\u5217\u4e2d\u7f13\u5b58\u7684\u751f\u6210\u7ed3\u679c\u8fdb\u884c\u8fd4\u56de\u5373\u53ef\uff0c\u63d0\u5347\u4e86\u54cd\u5e94\u901f\u5ea6\u3002</p>\n<p>\u5927\u6982\u6d41\u7a0b\u5c31\u50cf\u4e0b\u56fe\u8fd9\u6837\uff1a\n<img alt=\"\u5fc3\u60c5\u8bb0\u5f55\u5458.drawio.png\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://www.huhailong.vip/laolu/file/loadImg/1894925245219946498\"/></p>\n<p>4 \u5e74\u524d\u8fd9\u4e2a\u9879\u76ee\u7684\u5e93\u548c\u535a\u5ba2\uff1a</p>\n<p><a href=\"https://gitee.com/hlovez/redismq.git\" rel=\"nofollow\">Gitee-redismq \uff08\u539f\u8c05\u6211\u4ee5\u524d\u4f7f\u7528 Gitee \u7684\u884c\u4e3a\uff0c\u54c8\u54c8\u54c8\uff09</a></p>\n<p><a href=\"https://blog.csdn.net/hhl18730252820/article/details/114826366?fromshare=blogdetail&amp;sharetype=blogdetail&amp;sharerId=114826366&amp;sharerefer=PC&amp;sharesource=hhl18730252820&amp;sharefrom=from_link\" rel=\"nofollow\">CSDN \u535a\u5ba2\uff08\u5982\u679c\u5bf9 CSDN \u6392\u65a5\u53ef\u4ee5\u8bbf\u95ee\u4e0b\u9762\u6211\u81ea\u5df1\u7f51\u7ad9\u7684\u6587\u7ae0\uff09</a></p>\n<p><a href=\"https://www.huhailong.vip/article/1894926504538750977\" rel=\"nofollow\">\u4e2a\u4eba\u7f51\u7ad9\u6587\u7ae0\u5730\u5740</a></p>\n", 
      "date_published": "2025-02-27T02:01:59+00:00", 
      "title": "Redis Stream \u5b9e\u73b0 MQ \u7684\u53ef\u884c\u6027", 
      "id": "https://www.v2ex.com/t/1114525"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/nitouge", 
        "name": "nitouge", 
        "avatar": "https://cdn.v2ex.com/avatar/4ff9/fa67/617985_large.png?m=1678329746"
      }, 
      "url": "https://www.v2ex.com/t/1107082", 
      "date_modified": "2025-01-22T07:22:28+00:00", 
      "content_html": "<p>\u76ee\u524d\u4f7f\u7528 Redis \u7f13\u5b58\u6570\u636e\uff0c\u5bf9\u4e8e A \u548c B \u5355\u72ec\u7f13\u5b58\uff0c\u73b0\u5728\u6709\u5176\u4ed6\u670d\u52a1\u9700\u8981 A \u548c B \u4e24\u4e2a\u5bf9\u8c61\u7684\u67d0\u4e9b\u5c5e\u6027\n\u95ee\u9898\uff1a</p>\n<ol>\n<li>\u5b58\u6570\u636e\u5728\u670d\u52a1\u6d88\u8d39\u65b9\u8fd8\u662f\u670d\u52a1\u63d0\u4f9b\u65b9\uff1b</li>\n<li>\u5b58\u7ec4\u5408\u5bf9\u8c61\uff0cA,B \u5bf9\u8c61\u66f4\u65b0\uff0c\u7ec4\u5408\u5bf9\u8c61\u90fd\u9700\u8981\u53bb\u66f4\u65b0\u6216\u8005\u5220\u9664\u518d\u52a0\u8f7d\uff1b</li>\n<li>\u5bf9\u4e8e\u5206\u9875\u67e5\u8be2\u6216\u8005 list \u67e5\u8be2\u540e\uff0c\u7f13\u5b58\u6bcf\u4e00\u6761\u6570\u636e\uff0c\u5982\u679c\u901a\u8fc7\u6ce8\u89e3\uff0c\u662f\u5426\u9700\u8981\u8be6\u60c5\u63a5\u53e3\uff0c\u518d\u53bb\u7f13\u5b58\uff0c\u800c\u4e0d\u662f\u76f4\u63a5\u7f13\u5b58\u96c6\u5408\u6570\u636e</li>\n</ol>\n", 
      "date_published": "2025-01-22T07:13:19+00:00", 
      "title": "Redis \u7f13\u5b58\u6570\u636e", 
      "id": "https://www.v2ex.com/t/1107082"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Jobcrazy", 
        "name": "Jobcrazy", 
        "avatar": "https://cdn.v2ex.com/avatar/e70e/735c/499434_large.png?m=1753425401"
      }, 
      "url": "https://www.v2ex.com/t/1092511", 
      "title": "\u652f\u6301 WinXP/2003 \u7684 Redis \u670d\u52a1\u7aef", 
      "id": "https://www.v2ex.com/t/1092511", 
      "date_published": "2024-11-25T09:16:57+00:00", 
      "content_html": "<p>\u56e0\u8fd1\u671f\u6211\u505a\u7684\u4e00\u4e2a\u9879\u76ee\u9700\u8981\uff0c\u4fee\u6539\u51fa\u6765\u4e86\u4e00\u4e2a\u9002\u914d winxp \u548c 2003 \u7684 32 \u4f4d redis-server \uff0c\u53ef\u4ee5\u7528\u53c2\u6570\u6b63\u5e38\u5b89\u88c5\u4e3a\u7cfb\u7edf\u670d\u52a1\u3002</p>\n<p>\u8fd9\u4e24\u4e2a\u7cfb\u7edf\u867d\u7136\u51e0\u4e4e\u6ca1\u4ec0\u4e48\u4eba\u7528\u4e86\uff0c\u4f46\u9700\u8981\u7684\u65f6\u5019\u53ef\u4ee5\u81ea\u53d6\uff0c\u5df2\u5f00\u6e90\uff1a <a href=\"https://github.com/Jobcrazy/Redis-WinLegacy\" rel=\"nofollow\">https://github.com/Jobcrazy/Redis-WinLegacy</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Rust2015", 
        "name": "Rust2015", 
        "avatar": "https://cdn.v2ex.com/avatar/51fd/c72d/674984_large.png?m=1738501691"
      }, 
      "url": "https://www.v2ex.com/t/1079248", 
      "title": "\u600e\u4e48\u624d\u80fd\u5b66\u597d redis\uff0c\u6709\u4ec0\u4e48\u597d\u7684\u6559\u7a0b\u6216\u8005 blog \u63a8\u8350\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/1079248", 
      "date_published": "2024-10-11T07:59:36+00:00", 
      "content_html": "<p>\u4e00\u76f4\u4e0d\u5f97\u6cd5\uff0c\u5341\u5206\u90c1\u95f7\u3002\u6c42\u63a8\u8350\u3002</p>\n<p>\u5982\u9898</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/a1oyss0925", 
        "name": "a1oyss0925", 
        "avatar": "https://cdn.v2ex.com/gravatar/01131814c518411ecc20694601f476fb?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1058091", 
      "date_modified": "2024-07-18T13:07:17+00:00", 
      "content_html": "<p>\u4e00\u5e74\u524d\u7ed9\u67d0\u5355\u4f4d\u505a\u4e86\u4e2a\u95e8\u6237\u7c7b\u7684\u670d\u52a1\uff0cSpringBoot \u9879\u76ee\uff0c\u5355\u8282\u70b9 redis \u3001mysql\n\u5f53\u65f6\u5c31\u662f\u51e0\u4e2a\u4eba\u778e\u5199\uff0c\u5806\u6210\u4e00\u5806\u5c4e\u5c71\uff0c\u73b0\u5728\u4e0d\u77e5\u9053\u4e3a\u4ec0\u4e48\u51e0\u4e4e\u6bcf\u9694\u4e00\u4e24\u5468 redis \u90fd\u4f1a\u67e5\u8be2\u8d85\u65f6\uff0c\u670d\u52a1\u62a5\u9519\uff1a\njava.lang.RuntimeException: org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s)\n\u7a0d\u5fae\u6709\u70b9\u5934\u7eea\u7684\u8bdd\u5c31\u662f\u6709\u4e2a\u529f\u80fd\u4f1a\u5f80 redis \u91cc\u5b58\u5927\u91cf\u7684\u6570\u636e\uff0c\u4f7f\u7528\u7684\u662f map \uff0c\u5e76\u4e14\u53d6\u7684\u9891\u7387\u8fd8\u662f\u633a\u9ad8\u7684\uff0c\u4f46\u662f\u4e0d\u77e5\u9053\u8be5\u600e\u4e48\u786e\u5b9a\u5c31\u662f\u8fd9\u4e2a\u9519\uff0c\u6ca1\u6cd5\u627e\u5230\u8bc1\u636e\n\u7ebf\u4e0a\u6392\u9519\u8fd9\u65b9\u9762\u81ea\u5df1\u4e5f\u6ca1\u7ecf\u9a8c\uff0c\u8bf7\u95ee\u5e94\u8be5\u600e\u4e48\u5165\u624b</p>\n", 
      "date_published": "2024-07-17T10:25:58+00:00", 
      "title": "\u7ebf\u4e0a\u670d\u52a1 redis \u67e5\u8be2\u8d85\u65f6\u6392\u67e5\u6c42\u6559", 
      "id": "https://www.v2ex.com/t/1058091"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/1140601003", 
        "name": "1140601003", 
        "avatar": "https://cdn.v2ex.com/avatar/604d/dddf/640936_large.png?m=1745299906"
      }, 
      "url": "https://www.v2ex.com/t/1055361", 
      "title": "\u6709\u6728\u6709\u5b89\u5353 app \u7684 client \u7aef\u5440\uff1f", 
      "id": "https://www.v2ex.com/t/1055361", 
      "date_published": "2024-07-06T14:24:57+00:00", 
      "content_html": ""
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/jamfer", 
        "name": "jamfer", 
        "avatar": "https://cdn.v2ex.com/avatar/6b02/df11/222748_large.png?m=1716904464"
      }, 
      "url": "https://www.v2ex.com/t/1050747", 
      "date_modified": "2024-06-21T01:16:57+00:00", 
      "content_html": "Tiny RDM \u54ea\u513f\u90fd\u597d\u5c31\u662f\u9700\u8981\u5b89\u88c5 EDGE WebView2 \u624d\u80fd\u8fd0\u884c\uff0c\u8fd9\u73a9\u610f\u513f\u4e00\u65e6\u5b89\u88c5\u4e86\uff0c\u5c31\u4f1a\u7ecf\u5e38\u81ea\u52a8\u7ed9\u6211\u4e0b\u8f7d EDGE \u5168\u5bb6\u6876\u3002\u6211\u673a\u5668\u4e0a\u5df2\u7ecf\u5f7b\u5e95\u5378\u8f7d\u4e86 EDGE \uff0c\u6ca1\u529e\u6cd5\u53ea\u80fd\u653e\u5f03 Tiny RDM \u3002<br /><br />\u6240\u4ee5\u8bf7\u95ee\u8fd8\u6709\u5176\u4ed6\u597d\u7528\u7684 Redis GUI \u5de5\u5177\u4e48\uff1f", 
      "date_published": "2024-06-19T01:39:26+00:00", 
      "title": "\u9664\u4e86 Tiny RDM \u4e4b\u5916\u8fd8\u6709\u4ec0\u4e48\u6bd4\u8f83\u597d\u7528\u7684 Redis GUI \u5de5\u5177\u4e48\uff1f", 
      "id": "https://www.v2ex.com/t/1050747"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/LeegoYih", 
        "name": "LeegoYih", 
        "avatar": "https://cdn.v2ex.com/avatar/7512/3f00/577498_large.png?m=1774264293"
      }, 
      "url": "https://www.v2ex.com/t/1047578", 
      "title": "Redis \u652f\u6301 Hash \u5b57\u6bb5\u5355\u72ec\u8bbe\u7f6e\u8fc7\u671f\u65f6\u95f4", 
      "id": "https://www.v2ex.com/t/1047578", 
      "date_published": "2024-06-07T01:43:11+00:00", 
      "content_html": "<p>Redis 7.4-rc1 \u5f15\u5165\u4e86 9 \u4e2a\u65b0\u547d\u4ee4\uff1a</p>\n<ul>\n<li><code>HEXPIRE</code> and <code>HPEXPIRE</code>\uff1a\u8bbe\u7f6e\u79d2\u7ea7\u548c\u6beb\u79d2\u7ea7\u751f\u5b58\u65f6\u95f4</li>\n<li><code>HEXPIREAT</code> and <code>HPEXPIREAT</code>\uff1a\u8bbe\u7f6e\u79d2\u7ea7\u548c\u6beb\u79d2\u7ea7 UNIX \u8fc7\u671f\u65f6\u95f4\u6233</li>\n<li><code>HPERSIST</code>\uff1a\u79fb\u9664\u8fc7\u671f\u65f6\u95f4</li>\n<li><code>HEXPIRETIME</code> and <code>HPEXPIRETIME</code>\uff1a\u83b7\u53d6\u79d2\u7ea7\u548c\u6beb\u79d2\u7ea7 UNIX \u8fc7\u671f\u65f6\u95f4\u6233</li>\n<li><code>HTTL</code> and <code>HPTTL</code>\uff1a\u83b7\u53d6\u79d2\u7ea7\u548c\u6beb\u79d2\u7ea7\u751f\u5b58\u65f6\u95f4</li>\n</ul>\n<p><a href=\"https://github.com/redis/redis/releases/tag/7.4-rc1\" rel=\"nofollow\">https://github.com/redis/redis/releases/tag/7.4-rc1</a></p>\n<p>\u8fd9\u4e48\u591a\u5e74\u4e86\uff0c\u7ec8\u4e8e\u6765\u4e86</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/cuishuang", 
        "name": "cuishuang", 
        "avatar": "https://cdn.v2ex.com/gravatar/ab03a22e9f5ca6080e6b15b887632bd5?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1040022", 
      "title": "Redis \u52a0\u4e0a\u5bc6\u7801\u540e\uff0c\u6574\u4f53\u6027\u80fd\u4e0b\u964d 20%\uff1f", 
      "id": "https://www.v2ex.com/t/1040022", 
      "date_published": "2024-05-12T09:19:17+00:00", 
      "content_html": "<p>\u8fd9\u592a\u9707\u60ca\u4e86...(\u56fe\u7247\u6765\u81ea\u6781\u5ba2\u65f6\u95f4 \u5b89\u5168\u653b\u9632\u6280\u80fd 30 \u8bb2)</p>\n<p>\u96be\u9053\u6bcf\u6b21\u6267\u884c\u4ec0\u4e48 get,set \u64cd\u4f5c\uff0c\u90fd\u4f1a\u68c0\u6d4b\u4e00\u904d\u5bc6\u7801\u5417\uff1f \u6211\u7406\u89e3\u4e0d\u80fd\u50cf mysql \u4e00\u6837\uff0c\u6709\u4e2a\u8fde\u63a5\u6c60\uff0c\u521d\u59cb\u5316\u4e00\u4e9b\u957f\u8fde\u63a5\uff0c\u4e4b\u540e\u5c31\u4e0d\u7528\u518d\u8ba4\u8bc1/\u9274\u6743\u4ec0\u4e48\u7684\u4e86</p>\n<p><img alt=\"\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://files.mdnice.com/user/43217/1a40c255-c441-4146-a2ec-59670276e311.png\"/></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/miaeLKK", 
        "name": "miaeLKK", 
        "avatar": "https://cdn.v2ex.com/gravatar/f58634e88e35cd83341614d958bfe388?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1038852", 
      "title": "\u65b0\u5b66 redis \u96c6\u7fa4\u7684\u7591\u60d1", 
      "id": "https://www.v2ex.com/t/1038852", 
      "date_published": "2024-05-08T09:59:45+00:00", 
      "content_html": "\u4e09\u4e2a\u5b9e\u4f8b\u4e3a\u4ec0\u4e48\u8981\u4e09\u4e3b\u4e09\u4ece\uff1f\u6211\u8ba4\u4e3a\u53ea\u662f\u4e3a\u4e86\u5e94\u5bf9\u9ad8\u5e76\u53d1\uff1f\u5982\u679c\u6211\u6ca1\u6709\u90a3\u4e48\u5927\u7684\u5e76\u53d1\uff0c\u53ea\u60f3\u4fdd\u8bc1\u9ad8\u53ef\u7528\u662f\u4e0d\u662f\u4e24\u4e2a\u5b9e\u4f8b\u5c31\u884c\u4e86\uff1f\u4e3a\u4ec0\u4e48\u4e0d\u662f\u4e00\u4e3b\u4e24\u4ece\uff0c\u8fd9\u6837\u6302\u4e86\u4e24\u4e2a\u8fd8\u80fd\u7528\ud83d\ude02"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/keakon", 
        "name": "keakon", 
        "avatar": "https://cdn.v2ex.com/avatar/81c2/f886/2704_large.png?m=1754573534"
      }, 
      "url": "https://www.v2ex.com/t/1036125", 
      "title": "Garnet \u771f\u6bd4 Redis \u5feb\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/1036125", 
      "date_published": "2024-04-27T06:10:26+00:00", 
      "content_html": "<p>\u7528 Docker \u8dd1\u4e86\u4e0b redis-benchmark\uff1a</p>\n<ul>\n<li>Redis \u5927\u90e8\u5206\u6d4b\u8bd5\u7ea6 17w qps</li>\n<li>\u5355 CPU \u65f6\uff0cGarnet \u5927\u90e8\u5206\u6d4b\u8bd5\u7ea6 3w qps</li>\n<li>\u4e0d\u9650\u5236 CPU \uff08\u5171 10 \u6838\uff09\u65f6\uff0cCPU \u5360\u7528\u7387\u7ea6 300%\uff0c\u5927\u90e8\u5206\u6d4b\u8bd5\u7ea6 4w qps</li>\n</ul>\n<p>\u96be\u9053\u8981\u7528 C# \u8dd1\u6d4b\u8bd5\u624d\u80fd\u53d1\u6325 Garnet \u7684\u6027\u80fd\uff1f\n<a href=\"https://microsoft.github.io/garnet/docs/benchmarking/results-resp-bench\" rel=\"nofollow\">https://microsoft.github.io/garnet/docs/benchmarking/results-resp-bench</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/drymonfidelia", 
        "name": "drymonfidelia", 
        "avatar": "https://cdn.v2ex.com/gravatar/017bcef6e642dbf067e17838a9cd447a?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1034586", 
      "date_modified": "2024-04-22T05:43:26+00:00", 
      "content_html": "<p>\u62a5\u9519\u4fe1\u606f\u662f <code>Timeout awaiting response (outbound=1KiB, inbound=0KiB, 5728ms elapsed, timeout is 5000ms), command=SET, next: EVAL, inst: 0, qu: 0, qs: 15, aw: False, bw: SpinningDown, rs: ReadAsync, ws: Idle, in: 76, in-pipe: 0, out-pipe: 0, serverEndpoint: 127.0.0.1:6379, mc: 1/1/0, mgr: 10 of 10 available, clientName: AppProductionEnvServer1(SE.Redis- v2.5.43.42402), IOCP: (Busy=0,Free=10000,Min=9000,Max=10000), WORKER: (Busy=236,Free=32531,Min=10000,Max=32767), POOL: (Threads=236,Queueditems=50,Completeditems=8751117254), v: 2.5.43.42402 (Please take a look at this article for some common client-side issues that can cause timeouts: <a href=\"https://stackexchange.github.io/StackExchange.Redis/Timeouts\" rel=\"nofollow\">https://stackexchange.github.io/StackExchange.Redis/Timeouts</a>)</code></p>\n<p>\u51fa\u9519\u7684\u65f6\u5019\u770b\u4e86\u4e0b\u4e5f\u5c31\u4e09\u767e\u591a\u5e76\u53d1\uff0c\u6bd4\u8f83\u6000\u7591\u662f\u4e0b\u9762\u8fd9\u6bb5\u4ee3\u7801\u5f15\u8d77\u7684\uff1a</p>\n<pre><code>   while (!await redis.GetDatabase().LockTakeAsync($\"PlaceOrder:{user.UserId}\", \"1\", TimeSpan.FromSeconds(180)))\n        {\n            await Task.Delay(1);\n        }\n</code></pre>\n<p>\u4f5c\u7528\u662f\u786e\u4fdd\u540c\u4e00\u7528\u6237\u53ea\u6709\u4e00\u4e2a\u8ba2\u5355\u672a\u5199\u5165\u6570\u636e\u5e93\uff08\u7cfb\u7edf\u4e0b\u5355\u903b\u8f91\u6d89\u53ca\u51e0\u5341\u4e2a\u51fd\u6570\uff0c\u5168\u662f\u4e00\u4e9b\u83ab\u540d\u5947\u5999\u7684\u5224\u65ad\u903b\u8f91\uff0c\u6df7\u6dc6\u540e\u53ef\u8bfb\u6027\u5927\u5e45\u63d0\u5347\u7684\u90a3\u79cd\uff08\u5f53\u7136\u662f\u5f00\u73a9\u7b11\u7684\uff09\uff09\uff0c\u5c4e\u5c71\u4f5c\u8005\u5df2\u7ecf\u8dd1\u8def\u4e86\uff0c\u6ca1\u4eba\u80fd\u770b\u61c2\u4ed6\u4ee3\u7801\uff0c\u4e00\u4e2a\u7528\u6237\u4e0b\u591a\u4e2a\u8ba2\u5355\u6570\u636e\u4f1a\u6df7\u4e71\u3002\u66f4\u725b\u903c\u7684\u8fd9\u5957\u7cfb\u7edf\u9664\u4e86\u6027\u80fd\u6781\u5dee\uff0c\u8fd0\u884c 3 \u5e74\u6ca1\u51fa\u9519\u4e00\u6b21\u3002\u4e00\u6b21\u8c03\u7528 API \u53ea\u80fd\u4e0b\u4e00\u5355\uff0c\u5ba2\u6237\u7aef\u968f\u786c\u4ef6\u4ea4\u4ed8\uff0c\u5df2\u7ecf\u5199\u6b7b\u4e86\uff0c\u4e0d\u80fd\u66f4\u65b0\uff0c\u7136\u540e\u5ba2\u6237\u7aef\u4e00\u6b21\u591a\u5c11\u4e2a\u8ba2\u5355\u5c31\u591a\u5c11\u5e76\u53d1\u8c03\u7528 API \u63d0\u4ea4\uff0c\u6ca1\u6709\u961f\u5217\u529f\u80fd\u3002\u76ee\u524d\u8981\u6c42 500 \u8ba2\u5355 10 \u79d2\u5185\u5168\u90e8\u4e0b\u5355\u5b8c\u6210\u8fd4\u56de\u8ba2\u5355\u53f7\uff08\u5355\u72ec\u63d0\u4ea4\u7684\u8bdd\u6bcf\u4e2a\u8ba2\u5355 0.01 \u79d2\u5de6\u53f3\u80fd\u5199\u5165\u5b8c\u6570\u636e\u62ff\u5230\u8ba2\u5355\u53f7\uff09\u3002</p>\n<p>\u9884\u5206\u914d\u8ba2\u5355\u53f7\u884c\u4e0d\u901a\uff0c\u4e0d\u8fd0\u884c\u4e00\u904d\u8fd9\u90e8\u5206\u5c4e\u5c71\u4ee3\u7801\u4e0d\u80fd\u786e\u5b9a\u8fd9\u4e2a\u8ba2\u5355\u80fd\u4e0d\u80fd\u63d0\u4ea4\uff0c\u8fd4\u56de\u8ba2\u5355\u53f7\u5c31\u4ee3\u8868\u8fd9\u4e2a\u8ba2\u5355\u63d0\u4ea4\u6210\u529f\u4e86\uff0c\u4e0d\u80fd\u53d6\u6d88\u3002\u76ee\u524d\u6253\u7b97\u6539\u9020\u6210 Sub/Pub \uff0c\u4e0d\u77e5\u9053\u80fd\u4e0d\u80fd\u63d0\u5347\u6027\u80fd\uff0c\u6216\u8005 V \u53cb\u6709\u6ca1\u6709\u66f4\u597d\u7684\u6539\u9020\u65b9\u6848\uff1f\u53ea\u8981\u80fd\u8ba9\u8fd9\u5c4e\u5c71\u8dd1\u8d77\u6765\u5c31\u884c\uff0c\u4ee3\u7801\u591a\u810f\u90fd\u6ca1\u5173\u7cfb\uff0c\u6539\u52a8\u9700\u8981\u5c3d\u53ef\u80fd\u5c0f\uff0c\u4e0d\u80fd\u628a\u7cfb\u7edf\u6539\u70b8\u3002\u76ee\u524d\u52a0\u786c\u4ef6\u5230 256GB \u5185\u5b58\u90fd\u6ca1\u89e3\u51b3\u3002</p>\n", 
      "date_published": "2024-04-22T05:35:22+00:00", 
      "title": "Redis \u51e0\u4e4e\u6bcf\u5c0f\u65f6\u90fd\u51fa\u73b0\u5927\u91cf\u8d85\u65f6\uff0c\u6c42\u52a9", 
      "id": "https://www.v2ex.com/t/1034586"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Gocobnus", 
        "name": "Gocobnus", 
        "avatar": "https://cdn.v2ex.com/gravatar/3903e8cdbe2a9b4f835178928d2772d7?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1032530", 
      "date_modified": "2024-04-15T07:52:43+00:00", 
      "content_html": "<p>\u4e00\u822c\u5927\u5bb6\u662f\u7528 redis client \u672c\u8eab\u7684\u8d85\u65f6\u3001\u91cd\u8bd5\u914d\u7f6e\uff0c\u8fd8\u662f\u4f1a\u81ea\u5df1\u5305\u88c5\u4e00\u4e0b</p>\n", 
      "date_published": "2024-04-15T02:28:55+00:00", 
      "title": "\u95ee\u4e00\u4e0b\u5927\u5bb6 redis \u7684\u914d\u7f6e", 
      "id": "https://www.v2ex.com/t/1032530"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/itx10237", 
        "name": "itx10237", 
        "avatar": "https://cdn.v2ex.com/avatar/b106/0131/623098_large.png?m=1720230147"
      }, 
      "url": "https://www.v2ex.com/t/1028440", 
      "date_modified": "2024-03-30T12:52:22+00:00", 
      "content_html": "<p>struct PersonInfo\n{\nint age;\nchar addr[10];\n};</p>\n<p>PersonInfo person_info;\nperson_info.age = 20;\nstrcpy(person_info.addr, \"sz\");</p>\n<p>redisContext * cc;</p>\n<p>std::string name = \"JACK\";</p>\n<p>\u5982\u679c\u8981\u5c06\u4e0a\u9762\u7684 name \u548c person_info \u4f20\u7ed9 lua \u811a\u672c,\u5e94\u8be5\u600e\u4e48\u505a\u5462? \u4e0b\u9762\u7684\u5199\u6cd5\u662f\u4e0d\u5b8c\u6574\u7684, \u4f46\u662f\u53c8\u4e0d\u77e5\u9053\u8be5\u600e\u4e48\u5199\u624d\u5bf9.</p>\n<p>redisCommand(cc, \"EVALSHA %s 1 %s\", \"redis \u8fd4\u56de\u7684 lua \u811a\u672c sha1 \u503c\", name.c_str());</p>\n", 
      "date_published": "2024-03-30T12:51:01+00:00", 
      "title": "Redis \u600e\u6837\u5c06\u5b57\u8282\u4e32\u4f20\u9012\u7ed9 lua \u811a\u672c?", 
      "id": "https://www.v2ex.com/t/1028440"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/huangsijun17", 
        "name": "huangsijun17", 
        "avatar": "https://cdn.v2ex.com/gravatar/6117a8589ba419d86b5dee7fb439a62a?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1027820", 
      "title": "\u5fae\u8f6f Garnet \u7684\u53d1\u5c55\u524d\u666f\u5982\u4f55\uff0c\u6709\u6ca1\u6709\u53ef\u80fd\u66ff\u4ee3 Redis\uff1f", 
      "id": "https://www.v2ex.com/t/1027820", 
      "date_published": "2024-03-28T08:13:18+00:00", 
      "content_html": "<p>\u6709\u4eba\u8dd1\u4e86\u538b\u6d4b\uff0c\u5728 Redis \u6bcf\u79d2\u6570\u5341\u4e07\u6b21\u7684\u8bbe\u5907\u4e0a\uff0cGarnet \u53ef\u4ee5\u8fbe\u5230\u6bcf\u79d2\u516b\u5343\u5b8c\u6b21\u3002\u4e5f\u6709\u4eba\u8bf4 Garnet \u4e0d\u652f\u6301 Redis \u7684\u4e00\u4e9b\u51fd\u6570 lua \uff0c\u5305\u62ec\u7ecf\u5178\u7684\u5206\u5e03\u5f0f\u9501\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Orlion", 
        "name": "Orlion", 
        "avatar": "https://cdn.v2ex.com/avatar/a2a6/ad27/212136_large.png?m=1699950457"
      }, 
      "url": "https://www.v2ex.com/t/1020312", 
      "title": "\u4e1a\u5185\u6709\u6ca1\u6709\u628a redis \u5f00\u542f aof=always \u5f53\u505a\u6570\u636e\u5e93\u4f7f\u7528\u7684\uff1f", 
      "id": "https://www.v2ex.com/t/1020312", 
      "date_published": "2024-03-04T01:06:54+00:00", 
      "content_html": "<p>\u4e2a\u4eba\u7406\u89e3\u5bf9\u4e8e\u7b80\u5355\u7684\u5b58\u50a8 kv \u3001\u8bfb\u5199\u538b\u529b\u90fd\u6bd4\u8f83\u5927\u7684\u9700\u6c42\uff0c\u5b8c\u5168\u53ef\u4ee5\u5f00\u542f redis \u6301\u4e45\u5316\uff0c\u5f53\u6210\u4e00\u4e2a\u6570\u636e\u5e93\u6765\u7528\u7684\u3002aof=always \u65e2\u4e0d\u4f1a\u5bfc\u81f4\u6570\u636e\u4e22\u5931\uff0c\u4e5f\u80fd\u83b7\u53d6\u6781\u9ad8\u7684\u8bfb\u6027\u80fd\uff0c\u867d\u7136\u5199\u6027\u80fd\u4f1a\u53d8\u5dee\uff0c\u4f46\u76f8\u6bd4 b tree/lsm tree \u8fd9\u79cd\u78c1\u76d8\u6570\u636e\u5e93\u6027\u80fd\u8fd8\u662f\u6bd4\u8f83\u9ad8\u7684\u5427\u3002</p>\n<p>\u800c\u4e14\u8fd8\u6709\u4e2a\u597d\u5904\u5c31\u662f\u907f\u514d\u4e86\u5e38\u8bf4\u7684\u201c\u7f13\u5b58\u4e00\u81f4\u6027\u95ee\u9898\u201d\ud83d\ude04\u3002</p>\n<p>\u5404\u4f4d\u5927\u4f6c\u5382\u91cc\u6709\u6ca1\u6709\u8fd9\u6837\u7528\u7684\uff1f\u5982\u679c\u6ca1\u6709\u539f\u56e0\u662f\u4ec0\u4e48\u5462\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/bthulu", 
        "name": "bthulu", 
        "avatar": "https://cdn.v2ex.com/gravatar/c87484c1062f990c6ef9e1a9c27bdc60?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1005189", 
      "date_modified": "2024-01-03T01:31:02+00:00", 
      "content_html": "<p>\u6211\u4e00\u76f4\u7528\u8fd9\u4e2a\u6765\u751f\u6210\u591a\u4e2a\u8868\u516c\u7528\u7684\u81ea\u589e id.\n\u4eca\u5929\u95f2\u6765\u65e0\u804a\u6d4b\u4e86\u4e0b, tps=10, \u8fd9\u6709\u70b9\u4f4e\u7684\u79bb\u8c31\u554a\n\u6d4b\u8bd5\u4ee3\u7801</p>\n<pre><code>        ConnectionMultiplexer redis = ConnectionMultiplexer.Connect(\"localhost\");\n        Stopwatch stopwatch = Stopwatch.StartNew();\n        var count = 100000;\n        for (int i = 0; i &lt; count; i++)\n        {\n            var id = (int)redis.GetDatabase().StringIncrement(\"PMDCS:id_hello\");\n        }\n        stopwatch.Stop();\n        Console.WriteLine(\"\u7528\u65f6:\" + stopwatch.ElapsedMilliseconds + \", tps=\" + (count / stopwatch.ElapsedMilliseconds));\n</code></pre>\n<p>\u6d4b\u8bd5\u7ed3\u679c\n\u7528\u65f6:8357, tps=11</p>\n", 
      "date_published": "2024-01-02T07:16:22+00:00", 
      "title": "\u6709\u8c01\u8bd5\u8fc7 redis \u7684 string \u81ea\u589e\u6027\u80fd\u5417, \u6211\u8fd9\u600e\u4e48\u662f\u4e2a\u4f4d\u6570?", 
      "id": "https://www.v2ex.com/t/1005189"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/simple2025", 
        "name": "simple2025", 
        "avatar": "https://cdn.v2ex.com/gravatar/d8be1ee891483e0287a7350aae996608?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1003952", 
      "date_modified": "2023-12-27T13:37:19+00:00", 
      "content_html": "<p>\u4e2a\u4eba\u611f\u89c9 redis \u7a33\u5982\u6cf0\u5c71,\u5b8c\u5168\u4e0d\u4f1a\u574f,\u6ca1\u9047\u5230\u8fc7 redis \u5d29\u7684\u60c5\u51b5</p>\n<p>\u552f\u4e00\u7684\u4e00\u6b21,\u8fd8\u662f\u81ea\u5df1 py \u7a0b\u5e8f\u7684\u95ee\u9898,\u539f\u56e0\u8bb0\u4e0d\u6e05\u695a\u4e86,\u597d\u50cf\u662f\u81ea\u5df1\u5f80 redis \u91cc\u9762\u5199\u65e5\u5fd7,\u5fd8\u4e86\u8bbe\u7f6e\u8fc7\u671f\u65f6\u95f4\u4e86.</p>\n<p>\u8fd8\u662f\u5c31\u662f celery \u7528 redis \u505a broker,\u4f1a\u65ad\u8054\u7684\u95ee\u9898,\u4f46\u662f\u8fd9\u4e2a python \u5355\u7ebf\u7a0b\u9047\u5230 pub/sub \u5bfc\u81f4\u7684,redis \u8fd8\u662f\u7a33</p>\n", 
      "date_published": "2023-12-27T13:32:08+00:00", 
      "title": "\u7a81\u7136\u60f3\u8d77\u4e00\u4e2a\u95ee\u9898,\u4f60\u4eec\u7528\u7684 redis \u6709\u5d29\u8fc7\u5417?\u662f\u4ec0\u4e48\u539f\u56e0\u5d29\u7684?", 
      "id": "https://www.v2ex.com/t/1003952"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/3630cn2023", 
        "name": "3630cn2023", 
        "avatar": "https://cdn.v2ex.com/gravatar/848230a8322d5cdf1068f3de4babd4f5?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1003357", 
      "title": "\u5173\u8054\u8868\u67e5\u8be2\u7ed3\u679c\u7684 Redis \u7f13\u5b58\u5982\u4f55\u8bbe\u8ba1", 
      "id": "https://www.v2ex.com/t/1003357", 
      "date_published": "2023-12-25T12:43:16+00:00", 
      "content_html": "\u8868 T1(id, project_id, score), project \u8868<br />T2(id, type)\uff0c\u4e24\u4e2a\u8868\u5173\u8054\u67e5\u8be2\u7684\u63a5\u53e3 A(userId),B(projectId),\u5982\u679c\u7528 userId \uff0cprojectId \u4f5c\u4e3a\u4e24\u4e2a\u63a5\u53e3\u7684 Redis \u7f13\u5b58 key \uff0c\u90a3\u4e48\u63a5\u53e3 C \u7528\u901a\u8fc7\u8868 1 \u7684 id \u66f4\u65b0\u6570\u636e\u7684\u65f6\u5019\uff0cA \uff0cB \u63a5\u53e3\u7684 Redis \u7f13\u5b58\u5982\u4f55\u66f4\u65b0\uff1f"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/quqiu", 
        "name": "quqiu", 
        "avatar": "https://cdn.v2ex.com/avatar/636e/fd4f/6004_large.png?m=1753419692"
      }, 
      "url": "https://www.v2ex.com/t/1003057", 
      "date_modified": "2023-12-25T05:08:45+00:00", 
      "content_html": "<p>\u73b0\u5728\u57fa\u4e8e redis \u5199\u4e86\u8bfb\u9501\u7684\u6a21\u5757\uff0c\u60f3\u505a\u4e2a\u5e76\u53d1\u6d4b\u8bd5\u3002\n\u73b0\u5728\u662f\u76f4\u63a5\u6d4f\u89c8\u5668\u5f00 F12 \uff0c\u8dd1\u4e00\u6b21\u8bf7\u6c42\uff0c\u7136\u540e\u590d\u5236 CURL \uff0c\u5199\u4e86\u4e2a BASH \u6765\u591a\u5e76\u53d1\u8dd1\u8fd9\u6bb5 CURL \u3002\n\u6709\u6ca1\u6709\u66f4\u65b9\u4fbf\u70b9\u7684\u5de5\u5177\u5404\u4f4d\u5927\u4f6c\u6559\u6559\u3002</p>\n", 
      "date_published": "2023-12-24T13:41:45+00:00", 
      "title": "API \u8bf7\u6c42\u5982\u4f55\u65b9\u4fbf\u7684\u505a\u5e76\u53d1\u6d4b\u8bd5\uff1f", 
      "id": "https://www.v2ex.com/t/1003057"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wuyiccc", 
        "name": "wuyiccc", 
        "avatar": "https://cdn.v2ex.com/avatar/d6e5/79a0/562772_large.png?m=1735704310"
      }, 
      "url": "https://www.v2ex.com/t/1002887", 
      "date_modified": "2023-12-23T10:16:50+00:00", 
      "content_html": "\u8bf7\u6559\u5144\u5f1f\u4eec\u4e00\u4e2a\u95ee\u9898\uff0cdatagrip \u8fde\u63a5 redis \u5982\u4f55\u663e\u793a redis \u952e\u7684 \u8fc7\u671f\u65f6\u95f4\u5462\uff1f <br />\u76ee\u524d\u6211\u7684 datargip \u7248\u672c\u662f 2023.3.2", 
      "date_published": "2023-12-23T10:14:25+00:00", 
      "title": "\u8bf7\u6559\u5144\u5f1f\u4eec\u4e00\u4e2a\u95ee\u9898\uff0c datagrip \u8fde\u63a5 redis \u5982\u4f55\u663e\u793a redis \u952e\u7684 \u8fc7\u671f\u65f6\u95f4\u5462\uff1f", 
      "id": "https://www.v2ex.com/t/1002887"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/hulk", 
        "name": "hulk", 
        "avatar": "https://cdn.v2ex.com/avatar/fac4/bb38/30573_large.png?m=1668699158"
      }, 
      "url": "https://www.v2ex.com/t/1000021", 
      "date_modified": "2023-12-14T06:07:20+00:00", 
      "content_html": "<p><a href=\"https://mp.weixin.qq.com/s/NZbo8-01aX7K-3Ba7XC10A\" rel=\"nofollow\">https://mp.weixin.qq.com/s/NZbo8-01aX7K-3Ba7XC10A</a></p>\n", 
      "date_published": "2023-12-13T06:15:02+00:00", 
      "title": "\u5173\u4e8e Redis RESP3 \u7684\u60f3\u6cd5", 
      "id": "https://www.v2ex.com/t/1000021"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/hcymysql", 
        "name": "hcymysql", 
        "avatar": "https://cdn.v2ex.com/avatar/0c98/a56b/661159_large.png?m=1699839421"
      }, 
      "url": "https://www.v2ex.com/t/997370", 
      "title": "\u8f7b\u4fbf\u5f0f Redis Monitor \u9762\u5411\u7814\u53d1\u4eba\u5458\u56fe\u5f62\u53ef\u89c6\u5316\u76d1\u63a7\u5e73\u53f0", 
      "id": "https://www.v2ex.com/t/997370", 
      "date_published": "2023-12-04T01:23:51+00:00", 
      "content_html": "<p>\u8f7b\u4fbf\u5f0f Redis Monitor \u9762\u5411\u7814\u53d1\u4eba\u5458\u56fe\u5f62\u53ef\u89c6\u5316\u76d1\u63a7\u5e73\u53f0\uff0c\u501f\u9274\u4e86 LEPUS(\u5929\u5154)\u76d1\u63a7\u5e73\u53f0\u4ee5\u53ca redis-cli info \u547d\u4ee4\u8f93\u51fa\u7684\u76d1\u63a7\u6307\u6807\u9879\uff0c\u53bb\u6389\u4e86\u4e00\u4e9b\u4e0d\u5fc5\u8981\u770b\u4e0d\u61c2\u7684\u76d1\u63a7\u9879\uff0c\u76ee\u524d\u91c7\u96c6\u4e86\u6570\u636e\u5e93\u8fde\u63a5\u6570\u3001QPS \u3001\u5185\u5b58\u4f7f\u7528\u7387\u7edf\u8ba1\u548c\u540c\u6b65\u590d\u5236\u5ef6\u8fdf\u65f6\u957f\uff0c\u4ee5\u53ca\u5217\u51fa\u5f53\u524d\u6240\u6709\u6162\u67e5\u8be2\u547d\u4ee4\u3002</p>\n<p><a href=\"https://github.com/hcymysql/redis_monitor\" rel=\"nofollow\">https://github.com/hcymysql/redis_monitor</a></p>\n<p>Redis Monitor \u53ef\u4ee5\u76d1\u63a7\u5355\u673a\u6a21\u5f0f\uff0c\u54e8\u5175\u6a21\u5f0f\uff0c\u96c6\u7fa4\u6a21\u5f0f\uff0c\u5e76\u4e14\u5f55\u5165\u4e00\u4e2a\u4e3b\u5e93\u6216\u8005\u4ece\u5e93 IP \uff0c\u81ea\u52a8\u53d1\u73b0\u4e3b\u5e93\u6216\u8005\u4ece\u5e93 IP \u4fe1\u606f\uff0c\u65e0\u9700\u4eba\u5de5\u518d\u6b21\u5f55\u5165\u3002</p>\n<p>\u91c7\u7528\u8fdc\u7a0b\u8fde\u63a5\u65b9\u5f0f\u83b7\u53d6\u6570\u636e\uff0c\u6240\u4ee5\u65e0\u9700\u8981\u5728 Redis \u670d\u52a1\u5668\u7aef\u90e8\u7f72\u76f8\u5173 agent \u6216\u8ba1\u5212\u4efb\u52a1\uff0c\u53ef\u5b9e\u73b0\u5fae\u4fe1\u548c\u90ae\u4ef6\u62a5\u8b66\u3002</p>\n<p>\u6ce8\uff1a\u76d1\u63a7\u73af\u5883\u4e3a Redis 6.2 \u4ee5\u4e0a\u7248\u672c\u3002</p>\n<p>\u89c6\u9891\u6f14\u793a\uff1a <a href=\"https://www.bilibili.com/video/BV1UC4y1A7F8/\" rel=\"nofollow\">https://www.bilibili.com/video/BV1UC4y1A7F8/</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Ackvincent", 
        "name": "Ackvincent", 
        "avatar": "https://cdn.v2ex.com/gravatar/bb9d416880e29c4102646717fa5671c9?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/996334", 
      "title": "Redis \u4e2d\u4f7f\u7528 pipeline \u6267\u884c\u547d\u4ee4\u65f6\uff0c\u6709\u5355\u6b21\u6267\u884c\u6570\u91cf\u7684\u9650\u5236\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/996334", 
      "date_published": "2023-11-29T11:35:29+00:00", 
      "content_html": "<p>\u901a\u8fc7 scan \u65b9\u6cd5\u83b7\u53d6 1W \u4e2a key \u7684\u540d\u5b57\uff0c\u7136\u540e\u4f7f\u7528 pipeline \u6267\u884c memory_usage \u547d\u4ee4\u83b7\u53d6\u8fd9 1W \u4e2a key \u5360\u7528\u7a7a\u95f4\u7684\u5927\u5c0f\uff0c\u8fd9\u6837\u4f1a\u5bf9\u670d\u52a1\u5668\u9020\u6210\u5f88\u5927\u538b\u529b\u5417\uff1f\u73b0\u5728\u5728\u6d4b\u8bd5\u670d\u52a1\u5668\u4e0a\u6267\u884c\u611f\u89c9\u6ca1\u4ec0\u4e48\u538b\u529b\uff0c\u4e0d\u77e5\u9053\u751f\u4ea7\u73af\u5883\u4e0b\uff0c\u4f1a\u4e0d\u4f1a\u6709\u5f71\u54cd\u3002\n\u8c22\u8c22</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/joyanhui", 
        "name": "joyanhui", 
        "avatar": "https://cdn.v2ex.com/gravatar/7b99ebbc66f778639ccbfba19ea4ed66?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/992960", 
      "date_modified": "2023-11-17T16:32:23+00:00", 
      "content_html": "<p>\u672c\u6765\u662f \u4e09\u53f0\u673a\u5668 \u5206\u522b\u6709\u4e00\u4e2a\u4e3b\u8282\u70b9\u7684\uff0c\u53cd\u590d\u5220\u9664\u8fc7\u51e0\u6b21\u8282\u70b9\u4e5f\u91cd\u542f\u8fc7\u51e0\u6b21\u673a\u5668\u3002</p>\n<p>\u7136\u540e\u4e3b\u8282\u70b9\u81ea\u52a8\u90fd\u8f6c\u79fb\u5230\u4e86\u5176\u4e2d\u4e00\u53f0\u673a\u5668\u4e0a\uff0c\u6b64\u65f6 kill \u6389\u8fd9\u53f0\u673a\u5668\uff0c\u53d1\u73b0\u96c6\u7fa4\u65e0\u6cd5\u6062\u590d\uff0c\u8c8c\u4f3c\u662f\u6ca1\u6cd5\u6295\u7968\u4e86\u3002</p>\n<p>\u5e94\u8be5\u5982\u4f55\u907f\u514d\u8fd9\u79cd\u60c5\u51b5\u53d1\u751f\u5462\uff1f</p>\n", 
      "date_published": "2023-11-17T16:32:08+00:00", 
      "title": "[\u6545\u969c\u6a21\u62df]redis cluster 3 \u673a 3 \u4e3b 6 \u4ece\uff0c\u4e3b\u8282\u70b9\u90fd\u8f6c\u79fb\u5230\u4e86\u5176\u4e2d\u4e00\u53f0\u673a\u5668\u4e0a\uff0c\u7136\u540e\u8fd9\u53f0\u673a\u5668\u5b95\u673a", 
      "id": "https://www.v2ex.com/t/992960"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Janice06", 
        "name": "Janice06", 
        "avatar": "https://cdn.v2ex.com/gravatar/47989fc4b14bb27bd06837a4bfc3a73f?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/992205", 
      "date_modified": "2023-11-16T00:15:35+00:00", 
      "content_html": "<p>\u6211\u81ea\u5df1\u8fde\u63a5\u5de5\u5177\u662f\u7528\u7684 dbeaver \uff0c\u4f46\u662f dbeaver \u597d\u50cf\u4e0d\u80fd\u8fde\u63a5 redis \u96c6\u7fa4</p>\n", 
      "date_published": "2023-11-15T10:18:11+00:00", 
      "title": "\u4f60\u4eec\u73b0\u5728\u8fde\u63a5 redis \u96c6\u7fa4\u662f\u7528\u7684\u4ec0\u4e48\u5de5\u5177\uff0c\u53ef\u4ee5\u5206\u4eab\u4e00\u4e0b\u4e0b\u8f7d\u94fe\u63a5\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/992205"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/zhongpingjing", 
        "name": "zhongpingjing", 
        "avatar": "https://cdn.v2ex.com/avatar/8b26/adcf/458757_large.png?m=1619173095"
      }, 
      "url": "https://www.v2ex.com/t/991788", 
      "date_modified": "2023-11-14T05:07:19+00:00", 
      "content_html": "<p>\u5177\u4f53\u573a\u666f\uff1a</p>\n<ol>\n<li>\u6709\u4e2a\u5355\u70b9\u767b\u5f55 CAS \u670d\u52a1\uff0c\u5176\u4ed6\u670d\u52a1\u767b\u5f55\u65f6\u4f1a\u8bf7\u6c42\u4e00\u4e2a ticket \uff0cCAS \u670d\u52a1\u9881\u53d1\u5b8c ticket \u540e\uff0c\u4f1a\u5199\u5165 redis \u3002</li>\n<li>\u5176\u4ed6\u670d\u52a1\u83b7\u53d6\u5230 ticket \u540e\uff0c\u4f1a\u8c03\u7528 CAS \u670d\u52a1\u7684\u53e6\u4e00\u4e2a\u63a5\u53e3\u53bb\u6821\u9a8c ticket \uff0c\u540c\u65f6\u83b7\u53d6\u7528\u6237\u4fe1\u606f\u3002</li>\n</ol>\n<p>\u73b0\u5728\u5076\u5c14\u4f1a\u51fa\u73b0\u4e00\u4e2a\u95ee\u9898\uff1a\u6267\u884c\u7b2c 2 \u6b65\u64cd\u4f5c\u65f6\uff0c\u6709\u65f6\u5019\u6821\u9a8c ticket \u4f1a\u4e0d\u901a\u8fc7</p>\n<p>\u6392\u67e5\u4e00\u4e0b\uff1a\nredis \u4e3b\u4ece\u504f\u79fb\u6709\u70b9\u5927\uff0c\u9020\u6210\u4e3b\u4ece\u6570\u636e\u4e0d\u4e00\u6837\uff0c\u6821\u9a8c\u63a5\u53e3\u8d70\u4ece\u5e93\u65f6\u67e5\u8be2\u4e0d\u5230 ticket \u6240\u4ee5\u6821\u9a8c\u5931\u8d25\uff0c\u5927\u6982\u662f\u7f51\u7edc\u539f\u56e0\uff1f</p>\n<p>\u60f3\u5230\u7684\u4e00\u4e2a\u89e3\u51b3\u65b9\u6848\u662f\uff0c\u6821\u9a8c\u63a5\u53e3\u5f3a\u5236\u8d70\u4e3b\u5e93\uff0c\u4f46\u662f\u54e8\u5175\u6a21\u5f0f\u4e0b\u4e3b\u5e93\u662f\u4e0d\u56fa\u5b9a\uff0c\u6709\u5565\u529e\u6cd5\u5f3a\u5236\u8d70\u4e3b\u5e93\u5417\uff08 Java \u8bed\u8a00\u7684 SDK \uff09\uff1f</p>\n<p>\u6216\u8005\u6709\u66f4\u597d\u7684\u89e3\u51b3\u65b9\u6848\uff1f</p>\n", 
      "date_published": "2023-11-14T05:01:52+00:00", 
      "title": "\u6c42\u6559\u4e00\u4e0b Redis \u54e8\u5175\u6a21\u5f0f\u4e0b\uff0c\u4e3b\u4ece\u5ef6\u8fdf\u95ee\u9898", 
      "id": "https://www.v2ex.com/t/991788"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/pppwww", 
        "name": "pppwww", 
        "avatar": "https://cdn.v2ex.com/gravatar/6e8adf02e2d7f6cec93df02dc514fd9f?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/991060", 
      "date_modified": "2023-11-12T03:43:19+00:00", 
      "content_html": "<p>\u60f3\u95ee\u4e0b\u5927\u4f6c\u4eec 40M \u7684\u5b57\u7b26\u4e32\u9002\u5408\u653e\u5230 redis \u7f13\u5b58\u5417\uff1f\u5982\u679c\u4e0d\u9002\u5408\u7684\u8bdd\u600e\u4e48\u89e3\u51b3\u5462</p>\n", 
      "date_published": "2023-11-11T15:16:09+00:00", 
      "title": "\u60f3\u95ee\u4e0b\u5927\u4f6c 40M \u7684\u5b57\u7b26\u4e32\u9002\u5408\u653e\u5230 redis \u7f13\u5b58\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/991060"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/cMoon", 
        "name": "cMoon", 
        "avatar": "https://cdn.v2ex.com/avatar/6650/b2ac/595559_large.png?m=1682666344"
      }, 
      "url": "https://www.v2ex.com/t/990742", 
      "title": "redis \u6709\u65f6\u53d6\u4e0d\u5230\u503c", 
      "id": "https://www.v2ex.com/t/990742", 
      "date_published": "2023-11-10T08:51:03+00:00", 
      "content_html": "<p>\u80cc\u666f:\nA \u8c03\u7528\u670d\u52a1 B,\u7136\u540e\u6bcf\u79d2\u67e5\u4e00\u6b21 redis \u53bb\u83b7\u53d6\u503c.\nB \u6536\u5230 A \u7684\u8bf7\u6c42\u540e\u5c06\u6570\u636e\u5199\u5165 redis.</p>\n<p>\u51fa\u73b0\u7684\u60c5\u51b5\u662f\u6709\u65f6\u5019 B \u5df2\u7ecf\u5c06\u6570\u636e\u5199\u5165 redis \u4e86,\u4f46\u662f A \u8bfb\u4e0d\u5230.\n\u67e5\u8be2\u5199\u5165\u4f7f\u7528\u7684\u540c\u4e00\u4e2a StringRedisTemplate.</p>\n<p>\u6709\u65f6\u5019\u67e5\u4e0d\u5230\u5c31\u5f88\u8ff7</p>\n<hr/>\n<p>\u987a\u4fbf\u5410\u69fd\u4e0b\u534e\u4e3a\u4e91 -- <a href=\"http://huaweicloud.csdn.net\" rel=\"nofollow\">huaweicloud.csdn.net</a><br/>\n\u70b9\u4e0b\u9605\u8bfb\u5168\u6587\u5c31\u81ea\u52a8\u83b7\u53d6\u624b\u673a\u53f7\u53d1\u9001\u6ce8\u518c\u9a8c\u8bc1\u7801..</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wqq096737ink", 
        "name": "wqq096737ink", 
        "avatar": "https://cdn.v2ex.com/avatar/156e/b7ec/625663_large.png?m=1752942757"
      }, 
      "url": "https://www.v2ex.com/t/990634", 
      "date_modified": "2023-11-10T05:14:14+00:00", 
      "content_html": "\u4e8b\u52a1\u4e2d\u6709\u591a\u4e2a key \uff0clua \u811a\u672c\u4e5f\u4f1a\u64cd\u4f5c\u591a\u4e2a key \u3002<br /><br />\u5982\u679c\u8fd9\u4e9b key \u80fd\u591f\u6563\u5217\u5728\u540c\u4e00\u4e2a slot \uff0c\u90a3\u6ca1\u4ec0\u4e48\u95ee\u9898\u3002<br /><br />\u5982\u679c\u8fd9\u4e9b key \u4e4b\u786e\u4fdd\u6563\u5217\u5728\u540c\u4e00\u4e2a\u8282\u70b9\uff0c\u53ef\u4ee5\u5417\uff1f \u5927\u90e8\u5206\u535a\u5ba2\u90fd\u53ea\u8bf4\u8981\u6c42\u6563\u5217\u5728\u540c\u4e00\u4e2a slot \u3002 <br /><br />\u6563\u5217\u5728\u540c\u4e00\u4e2a\u8282\u70b9\u4f1a\u6709\u95ee\u9898\u5417\uff1f \u6709\u6ca1\u6709\u76f8\u5173\u53c2\u8003\u6587\u6863\uff1f", 
      "date_published": "2023-11-10T04:20:20+00:00", 
      "title": "redis \u96c6\u7fa4\u4e2d \u6267\u884c\u4e8b\u52a1 \u6216\u8005 lua \u811a\u672c \u6d89\u53ca\u5230\u591a\u4e2a key \u65f6\uff0c\u8fd9\u4e9b key \u8981\u6c42\u5728\u540c\u4e00\u4e2a\u8282\u70b9\u8fd8\u662f\u540c\u4e00\u4e2a slot\uff1f", 
      "id": "https://www.v2ex.com/t/990634"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/lypdarling", 
        "name": "lypdarling", 
        "avatar": "https://cdn.v2ex.com/avatar/0893/1d76/23898_large.png?m=1772287583"
      }, 
      "url": "https://www.v2ex.com/t/986619", 
      "title": "redis 7 \u6240\u6709\u547d\u4ee4\u90fd\u662f\u539f\u5b50\u7684\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/986619", 
      "date_published": "2023-10-30T02:58:31+00:00", 
      "content_html": "<p>\u5b98\u7f51\u6709\u53e5\u8bdd </p>\n<p>Redis has a different evolution path in the key-value DBs where values can contain more complex data types, with atomic operations defined on those data types. </p>\n<p>\u662f\u4e0d\u662f\u6240\u6709 redis 7 \u7684\u547d\u4ee4\u90fd\u662f\u539f\u5b50\u7684\uff1f\u8fd9\u8ddf chatgpt \u4e2d\u7ed9\u7684\u7b54\u6848\u4e0d\u4e00\u6837</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/justthewayyouare", 
        "name": "justthewayyouare", 
        "avatar": "https://cdn.v2ex.com/gravatar/cfb99f09234a09f1aafe3120ec0fdcda?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/984702", 
      "date_modified": "2023-10-23T23:29:34+00:00", 
      "content_html": "<p>\u611f\u89c9\u5c0f\u9879\u76ee\u7528\u5904\u4e0d\u5927</p>\n", 
      "date_published": "2023-10-23T16:17:34+00:00", 
      "title": "Redis \u662f\u9e21\u808b\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/984702"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/yodhcn", 
        "name": "yodhcn", 
        "avatar": "https://cdn.v2ex.com/avatar/ac1d/d52e/504833_large.png?m=1757154227"
      }, 
      "url": "https://www.v2ex.com/t/984010", 
      "date_modified": "2023-10-21T09:11:15+00:00", 
      "content_html": "Redis \u670d\u52a1\u6302\u4e86\uff0c\u4e00\u6bb5\u65f6\u95f4\u540e\u53c8\u6062\u590d\uff0c\u5982\u679c\u8fd9\u6bb5\u65f6\u95f4\u80fd\u5185\uff0c\u6709\u4fee\u6539\u6570\u636e\u5e93\u7684\u64cd\u4f5c\uff0c\u4e0d\u4f1a\u9020\u6210\u7f13\u5b58\u4e0e\u6570\u636e\u5e93\u4e0d\u4e00\u81f4\u5417?<br /><br />\u5982\u679c\u662f Redis \u4e3b\u4ece\u96c6\u7fa4\uff0c\u80fd\u907f\u514d\u8fd9\u79cd\u60c5\u51b5\u5417\uff1f\u96c6\u7fa4\u5168\u6302\u4e86\u5462?<br /><br /><br />\u6ce8\uff1a\u76ee\u524d\u89e3\u51b3\u7f13\u5b58\u4e0e\u6570\u636e\u5e93\u4e00\u81f4\u6240\u4f7f\u7528\u7684\u65b9\u6848\uff0c\u662f\u53cc\u5199\u65b9\u6848\uff0c\u5199\u64cd\u4f5c-\u5148\u5199\u6570\u636e\u5e93\u518d\u5220\u7f13\u5b58\uff0c\u8bfb\u64cd\u4f5c-\u6709\u7f13\u5b58\u5c31\u8bfb\u7f13\u5b58\uff0c\u65e0\u7f13\u5b58\u5c31\u8bfb\u6570\u636e\u5e93\u540e\u91cd\u5efa\u7f13\u5b58<br /><br />\u4f46\u8fd9\u79cd\u65b9\u6848\u7684\u95ee\u9898\u662f\uff0c\u7f13\u5b58\u670d\u52a1\u6302\u4e86\u540e\uff0c\u5728\u5199\u64cd\u4f5c\u65f6\u65e0\u6cd5\u5220\u6389\u8fc7\u671f\u7f13\u5b58\uff0c\u6700\u540e\u7b49\u7f13\u5b58\u670d\u52a1\u6062\u590d\uff0c\u8bfb\u64cd\u4f5c\u8bfb\u5230\u7684\u5c31\u662f\u8fc7\u671f\u6570\u636e<br /><br /><br />\u8bf7\u8001\u54e5\u4eec\u6307\u70b9\u4e00\u4e0b\uff0c<br />\u96be\u9053\u56e0\u4e3a\u7f13\u5b58\u670d\u52a1\u6302\u6389\uff0c\u5c31\u62d2\u7edd\u4e00\u5207\u5199\u64cd\u4f5c\u5417\uff1f", 
      "date_published": "2023-10-21T03:27:12+00:00", 
      "title": "Redis \u670d\u52a1\u6302\u4e86\uff0c\u4e00\u6bb5\u65f6\u95f4\u540e\u53c8\u6062\u590d\uff0c\u4e0d\u4f1a\u9020\u6210\u7f13\u5b58\u4e0e\u6570\u636e\u5e93\u4e0d\u4e00\u81f4\u5417?", 
      "id": "https://www.v2ex.com/t/984010"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/yodhcn", 
        "name": "yodhcn", 
        "avatar": "https://cdn.v2ex.com/avatar/ac1d/d52e/504833_large.png?m=1757154227"
      }, 
      "url": "https://www.v2ex.com/t/979119", 
      "date_modified": "2023-10-06T01:26:43+00:00", 
      "content_html": "\u8fd9\u662f\u4e0a\u6b21\u9762\u8bd5\u4e2d\uff0c\u867d\u7136\u9762\u8bd5\u5b98\u95ee\u6211\u7684\u95ee\u9898\uff0c\u5f53\u65f6\u7ed9\u6211\u95ee\u8ff7\u7cca\u4e86\u3002<br />Q\uff1a\u4e3a\u4ec0\u4e48 MySQL \u6709\u7f13\u5b58\uff0c\u8fd8\u8981\u4f7f\u7528 Redis \uff1f<br />A\uff1aMySQL \u4ee5\u524d\u6709\u7f13\u5b58\uff0c\u4f46\u7531\u4e8e\u547d\u4e2d\u7387\u4e0d\u9ad8\uff0c\u5728\u65b0\u7248\u672c\u4e2d\u5df2\u7ecf\u820d\u5f03\u6389\u4e86\u3002<br />Q\uff1a\u90a3 Oracle \u6570\u636e\u5e93\u5462\uff1f Oracle \u6570\u636e\u5e93\u6709\u7f13\u5b58\u5417\uff1f<br />A\uff1a\u4e0d\u6e05\u695a\u3002<br />Q\uff1a\u4e0d\u8bba\u662f MySQL \u8fd8\u662f Oracle \uff0c\u53ea\u8981\u662f\u6570\u636e\u5e93\u5c31\u5e94\u8be5\u90fd\u6709\u7f13\u5b58\uff0c\u90a3\u4e3a\u4ec0\u4e48\u6570\u636e\u5e93\u6709\u7f13\u5b58\uff0c\u8fd8\u8981\u4f7f\u7528 Redis \uff1f<br />A: Redis \u652f\u6301\u5206\u7247\u96c6\u7fa4\uff0c\u7f13\u5b58\u5bb9\u91cf\u5bb9\u6613\u6269\u5c55\uff1b\u800c MySQL \u662f\u4e3a\u5355\u673a\u8bbe\u8ba1\u7684\uff0c\u7f13\u5b58\u5bb9\u91cf\u53d7\u9650\u4e8e\u8fd0\u884c MySQL \u7684\u4e3b\u673a\u5185\u5b58\u3002<br /><br />\u4f46\u9762\u8bd5\u5b98\u597d\u50cf\u5bf9\u8fd9\u4e2a\u56de\u7b54\u4e0d\u592a\u6ee1\u610f<br />\u73b0\u5728\u56de\u60f3\u8d77\u6765\uff0c\u867d\u7136\u5f53\u65f6\u662f\u6211\u6df7\u6dc6\u4e86\u201cMySQL \u67e5\u8be2\u7f13\u5b58\u201d\u548c\u201cMySQL \u7684 Buffer Pool\u201d\uff0c\u4f46\u662f\uff0cMySQL \u7684 Buffer Pool \u4e5f\u8d77\u5230\u4e86\u7f13\u5b58\u4f5c\u7528\uff0c\u51cf\u5c11\u78c1\u76d8 IO \u3002<br /><br />\u4e3a\u4ec0\u4e48 MySQL \u6709\u7f13\u5b58\uff0c\u8fd8\u8981\u4f7f\u7528 Redis \uff1f<br />\u8fd9\u4e2a\u95ee\u9898\uff0c\u76ee\u524d\u6211\u53ea\u60f3\u5230\u4ece\u4e24\u4e2a\u89d2\u5ea6\u56de\u7b54\uff1a<br />1. Redis \u652f\u6301\u5206\u7247\u96c6\u7fa4\uff0c\u7f13\u5b58\u5bb9\u91cf\u5bb9\u6613\u6269\u5c55\u3002<br />2. \u591a\u7ea7\u7f13\u5b58\u3002Redis \u5185\u5b58-&gt;Buffer Pool-&gt;\u78c1\u76d8\u3002<br />\u5404\u4f4d\u8fd8\u6709\u4ec0\u4e48\u522b\u7684\u770b\u6cd5\u5417\uff1f", 
      "date_published": "2023-10-05T15:48:33+00:00", 
      "title": "\u4e3a\u4ec0\u4e48 MySQL \u6709\u7f13\u5b58\uff0c\u8fd8\u8981\u4f7f\u7528 Redis\uff1f", 
      "id": "https://www.v2ex.com/t/979119"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/xing393939", 
        "name": "xing393939", 
        "avatar": "https://cdn.v2ex.com/avatar/9096/5ec7/18925_large.png?m=1652855853"
      }, 
      "url": "https://www.v2ex.com/t/975618", 
      "title": "\u5173\u4e8e\u7f13\u5b58\u4e00\u81f4\u6027\u95ee\u9898\uff0c\u4e0d\u77e5\u9053\u6211\u8fd9\u4e2a\u65b9\u6848\u662f\u5426\u53ef\u884c", 
      "id": "https://www.v2ex.com/t/975618", 
      "date_published": "2023-09-20T09:46:05+00:00", 
      "content_html": "<p>\u6570\u636e\u5e93\u548c\u7f13\u5b58\u7684\u6570\u636e\u4e00\u81f4\u6027\u95ee\u9898\u662f Web \u5f00\u53d1\u4e2d\u7ecf\u5e38\u78b0\u5230\u7684\uff0c\u4e00\u822c\u6211\u4eec\u90fd\u662f\u91c7\u7528 cache aside \u65b9\u6848\uff0c\u6bd4\u5982<a href=\"https://cloud.tencent.com/developer/article/1932934\" rel=\"nofollow\">\u8fd9\u7bc7\u6587\u7ae0</a>\u4ecb\u7ecd\u7684\u3002\u6700\u8fd1\u53c2\u8003<a href=\"https://tech.ipalfish.com/blog/2020/04/07/fb-memcache/\" rel=\"nofollow\">Scaling Memcache at Facebook</a>\uff0c\u6211\u60f3\u5230\u4e86\u4e00\u4e2a\u57fa\u4e8e redis \u7684\u7b80\u5316\u7248\u672c\uff0c\u4e0d\u77e5\u662f\u5426\u53ef\u884c\uff0c\u5e0c\u671b\u5927\u5bb6\u5e2e\u5fd9\u53c2\u8003\u4e0b\uff1a</p>\n<ol>\n<li>cacheMiss \u65f6\uff0c\u751f\u6210\u4e00\u4e2a\u5bf9\u5e94 cacheKey \u7684 leaseId \uff08 redis \u751f\u6210\u4e00\u4e2a\u503c\uff1akey \u662f<code>cacheKey + \"_id\"</code>\uff0cvalue \u662f\u968f\u673a\u6570\uff0cexpireTime=10 \u79d2\uff0c\u82e5 key \u5df2\u5b58\u5728\u5219\u5931\u8d25\uff09\uff0c\u82e5\u751f\u6210 leaseId \u5931\u8d25\u5219\u7b49\u5f85\u5e76\u91cd\u8bd5\u3002</li>\n<li>cacheMiss \u540e\uff0c\u5148\u67e5 db \u518d\u66f4\u65b0\u7f13\u5b58\uff0c\u4f46\u66f4\u65b0\u7f13\u5b58\u7684\u65f6\u5019\uff0c\u9700\u8981\u68c0\u67e5 leaseId \u662f\u5426\u6709\u6548\uff08 redis \u662f\u5426\u5b58\u5728 key=<code>cacheKey + \"_id\"</code>\u3001value=leaseId \u7684\u503c\uff09</li>\n<li>\u6bcf\u6b21\u66f4\u65b0 db \u540e\uff0c\u5220\u9664\u7f13\u5b58\uff0c\u540c\u65f6\u5220\u9664 leaseId \uff08 redis \u5220\u9664 key=<code>cacheKey + \"_id\"</code>\u7684\u503c\uff09</li>\n</ol>\n<p>\u8fd9\u6837\u6709\u4ec0\u4e48\u95ee\u9898\u5417\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/smartxia", 
        "name": "smartxia", 
        "avatar": "https://cdn.v2ex.com/gravatar/e5f2f3e3c11f9815ef172a4f18259260?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/966351", 
      "title": "redis \u96c6\u7fa4\u83b7\u53d6\u4e0d\u5230\u8fde\u63a5", 
      "id": "https://www.v2ex.com/t/966351", 
      "date_published": "2023-08-18T02:51:40+00:00", 
      "content_html": "<p>\u6211\u4eec\u7ebf\u4e0a\u6709\u4e2a\u670d\u52a1\uff0c\u7528\u7684\u662f tomcat \u96c6\u7fa4\u90e8\u7f72\uff0csession \u653e\u5728 redis cluster \u91cc\u9762\uff0c\u76ee\u524d\u542f\u52a8\u4e86 6 \u53f0\u8282\u70b9\u3002\u6700\u8fd1\u7a81\u7136\u6709\u67d0\u4e2a\u8282\u70b9\u4ece\u8fde\u63a5\u6c60\u62ff\u4e0d\u5230\u8d44\u6e90\uff0c\u4f3c\u4e4e\u90fd\u662f\u5728\u83b7\u53d6\u7528\u6237\u4fe1\u606f\u90a3\u91cc\u62a5\u9519\u7684\uff0c\u57fa\u672c\u4e0a\u90fd\u662f\u63d0\u793a\uff1aJedisException: Could not get a resource from the pool \uff0cNoSuchElementException: Timeout waiting for idle object \uff1b\u6211\u4eec\u7528\u7684\u662f jedis2.9.0 \uff0c\u57fa\u4e8e commons-pool2 \u7684\u8fde\u63a5\u6c60\uff0c\u5728\u7f51\u4e0a\u641c\u7d22\u7c7b\u4f3c\u7684\u95ee\u9898\u90fd\u8bf4\u662f jedis \u7248\u672c\u95ee\u9898\uff0c\u628a 2.9.1 \u56de\u9000\u5230 2.9.0 \uff0c\u7ed3\u679c\u8fd9\u4e0d\u662f\u5de7\u4e86\uff0c\u6211\u4eec\u7528\u7684\u5c31\u662f 2.9.0 \uff0c\u4e5f\u62a5\u8fd9\u4e2a\u9519\u3002\u5947\u602a\u7684\u5c31\u662f 6 \u53f0 tomcat \u5c31\u5176\u4e2d\u4e00\u53f0\u62a5\u9519\u4e86\uff0c\u4e4b\u524d\u662f maxTotal=1000 \uff0cmaxIdle=200 \uff0c\u540e\u6765 2 \u4e2a\u90fd\u6539\u6210\u4e86 200 \uff0c\u91cd\u542f\u540e\uff0c\u8fc7\u4e86 1 \u5929\u53c8\u6362\u4e86\u4e00\u53f0 tomcat \u7ee7\u7eed\u62a5\u8fd9\u4e2a\u9519\uff0c\u5927\u4f6c\u4eec\u6709\u6ca1\u6709\u5565\u65b9\u6848\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/joyanhui", 
        "name": "joyanhui", 
        "avatar": "https://cdn.v2ex.com/gravatar/7b99ebbc66f778639ccbfba19ea4ed66?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/965630", 
      "title": "\u7528 redis \u76f4\u63a5\u66ff\u6362 app/\u7269\u8054\u7f51\u7684 mq \u670d\u52a1\u5668\u7684\u53ef\u884c\u6027\u5927\u5417\uff1f\u600e\u4e48\u5bf9\u5ba2\u6237\u7aef\u8fdb\u884c\u9650\u5236", 
      "id": "https://www.v2ex.com/t/965630", 
      "date_published": "2023-08-15T16:27:17+00:00", 
      "content_html": "<p>\u73b0\u6709\u65b9\u6848\u662f mqtt \u670d\u52a1\u5668\u3002\n\u4f46\u662f\u4eca\u5929\u4ed4\u7ec6\u770b\u4e86\u4e86\u4e00\u4e0b redis7 \u7684 acl \u63a7\u5236\u3002\u611f\u89c9\u6743\u9650\u53ef\u4ee5\u7f29\u5c0f\u5230\u5f88\u5c0f \u3002\u53e6\u5916 Stream \u7ed3\u6784\u53ef\u4ee5\u76f4\u63a5\u7528 redis \u89e3\u51b3\u6d88\u606f\u6301\u4e45\u5316\u7684\u95ee\u9898\u3002\n\u6240\u4ee5\u5728\u7422\u78e8\u7528 redis \u76f4\u63a5\u505a mq \u670d\u52a1\u5668\u3002\u4e0d\u518d\u7ecf\u8fc7 mqtt \u8f6c\u53d1\u4e00\u6b21\u6d6a\u8d39\u6027\u80fd\u3002 \u76f4\u63a5\u7ed9\u6bcf\u4e00\u4e2a\u7528\u6237\u7684\u5ba2\u6237\u7aef\u5206\u914d\u4e00\u4e2a redis \u8d26\u53f7\uff0c\u8d26\u53f7\u5b9a\u65f6\u6a2a\u6362\u3002</p>\n<p>\u56e0\u4e3a\u7528\u6237\u7684\u5ba2\u6237\u7aef\u4e0d\u53ef\u4fe1\uff0c\u6709\u51e0\u4e2a\u95ee\u9898\u4e0d\u77e5\u9053\u5982\u4f55\u89e3\u51b3\uff0c\u72ec\u7acb\u7684\u4e34\u65f6\u8d26\u53f7\u89e3\u51b3\u4e86\u5ba2\u6237\u7aef\u7684\u5b89\u5168\u95ee\u9898\uff0c\u90a3\u4e48\u4e3b\u8981\u662f\u5ba2\u6237\u7aef\u7684\u8d44\u6e90\u5360\u7528\u7684\u9650\u5236\u4e0a\u3002</p>\n<ul>\n<li>1 \u3001\u600e\u4e48\u9650\u5236\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u9891\u7387\uff0c\u7528 iptable \u6765\u9650\u5236\uff1f   </li>\n<li>\n2 \u3001\u600e\u4e48\u9650\u5236\u5355\u4e2a\u7528\u6237\u7684\u5360\u7528\u7684\u5185\u5b58\u3002<br/>\n\u76ee\u524d\u60f3\u5230\u7684   <ul>\n<li>2.1 \u3001client-query-buffer-limit \u9650\u5236\u8f93\u5165\u7f13\u51b2\u533a  </li>\n<li>2.2 \u3001\u540e\u7aef\u4e0d\u65ad\u6267\u884c CLIENT LIST \u8e22\u6389\u5360\u7528\u592a\u5927\u7684\u7528\u6237\uff1f   </li>\n<li>2.3 \u3001\u600e\u4e48\u9650\u5236\u540c\u4e00\u4e2a\u7528\u6237\u91cd\u590d\u767b\u9646 redis \uff1f\u53ea\u80fd\u5b9a\u65f6\u7528 CLIENT LIST \u53bb\u626b\u63cf\u5417  </li>\n</ul>\n</li>\n</ul>\n<p>\u6682\u65f6\u53ea\u60f3\u5230\u8fd9\u4e9b\uff0c\u6073\u6c42\u5404\u4f4d\u8d50\u6559\uff01</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ben548", 
        "name": "ben548", 
        "avatar": "https://cdn.v2ex.com/gravatar/4823772b00d8680776306ddbccc88133?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/962146", 
      "title": "redis \u600e\u4e48\u88c1\u526a zset \u53ea\u4fdd\u7559\u6392\u540d\u524d 100 \u7684\u6570\u636e", 
      "id": "https://www.v2ex.com/t/962146", 
      "date_published": "2023-08-03T09:12:04+00:00", 
      "content_html": ""
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ben548", 
        "name": "ben548", 
        "avatar": "https://cdn.v2ex.com/gravatar/4823772b00d8680776306ddbccc88133?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/960000", 
      "title": "\u7f13\u5b58\u5931\u6548\u540e\u5148\u8fd4\u56de\u518d\u89e6\u53d1\u66f4\u65b0\u7684\u573a\u666f\u8981\u600e\u4e48\u5904\u7406\uff1f", 
      "id": "https://www.v2ex.com/t/960000", 
      "date_published": "2023-07-26T11:59:39+00:00", 
      "content_html": "\u573a\u666f\uff1a\u6211\u8981\u7f13\u5b58\u4e00\u4efd\u6570\u636e\uff0c\u6bd4\u5982\u7f13\u5b58 10 \u5206\u949f\uff0c\u7136\u540e\u5982\u679c\u6709\u8bbf\u95ee\uff0c\u53d1\u73b0\u7f13\u5b58\u5931\u6548\u4e86\uff0c\u5c31\u5148\u8fd4\u56de\uff0c\u7136\u540e\u518d\u89e6\u53d1\u7f13\u5b58\u66f4\u65b0\uff0c\u8fd9\u4e2a\u5148\u8fd4\u56de\u518d\u89e6\u53d1\u7f13\u5b58\u66f4\u65b0\u8981\u600e\u4e48\u505a\u5462\uff1f<br />\u6211\u60f3\u7684\u65b9\u6848\uff1a<br />\u5f80\u6d88\u606f\u961f\u5217\u91cc\u9762\u53d1\u6d88\u606f\u7684\u65b9\u5f0f\uff0c\u4f46\u662f\u591a\u7528\u6237\u5e76\u53d1\u7684\u60c5\u51b5\u4e0b\uff0c\u5176\u5b9e\u4f1a\u6709\u591a\u4e2a\u7528\u6237\u8fc7\u6765\u8bf7\u6c42\u66f4\u65b0\u7f13\u5b58\uff0c\u5f53\u7136\u53ef\u4ee5\u7528\u5206\u5e03\u5f0f\u9501\u6765\u5904\u7406\uff0c\u53ea\u8ba9\u4e00\u4e2a\u7528\u6237\u751f\u6210\u7f13\u5b58\u6210\u529f\u3002<br />\u8fd9\u4e2a\u5c31\u662f\u6211\u7684\u4e00\u4e2a\u60f3\u6cd5\uff0c\u6709\u6ca1\u6709\u66f4\u597d\u7684\u65b9\u6848\uff1f"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/golangggg", 
        "name": "golangggg", 
        "avatar": "https://cdn.v2ex.com/gravatar/12918e305aeeeb65c293a1ae241f412e?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/958903", 
      "date_modified": "2023-07-22T17:33:14+00:00", 
      "content_html": "\u5982\u9898 \u60f3\u4f7f\u7528 redis \u5b9e\u73b0\u4e00\u4e2a\u5747\u5300\u4f7f\u7528 ip \u7684\u529f\u80fd, <br />\u81ea\u5df1\u6709 10 \u4e2a\u4ee3\u7406 ip, \u60f3\u5747\u5300\u7684\u4f7f\u7528 ( \u8f6e\u8bad\u7740\u7528 \u4e00\u4e2a\u63a5\u7740\u4e00\u4e2a \u5faa\u73af\u5f80\u590d)<br />\u4f7f\u7528\u8fc7\u4e24\u79cd\u65b9\u6848<br />1.ip \u5b58\u4e3a set \u7c7b\u578b \u6bcf\u6b21\u4f7f\u7528 srandmember \u968f\u673a\u62bd\u53d6, \u4f46\u6d4b\u8bd5\u53d1\u73b0 \u975e\u5e38\u4e0d\u968f\u673a<br />2.ip \u5b58\u4e3a list \u7c7b\u578b \u6bcf\u6b21 rpoplpush \u5230\u540c\u4e00\u961f\u5217, \u8fd9\u4e2a\u53ef\u4ee5\u5b9e\u73b0\u5b8c\u5168\u5e73\u5747\u7684\u4f7f\u7528,\u4f46\u6709\u4e2a\u95ee\u9898\u65e0\u6cd5\u89e3\u51b3, \u56e0\u4e3a\u53ef\u80fd\u67d0\u4e00\u4e2a ip \u67d0\u77ed\u65f6\u95f4\u4e0d\u53ef\u4ee5\u4f7f\u7528, \u9700\u8981\u4ece\u961f\u5217\u4e2d\u79fb\u9664, \u4f46\u662f\u4f7f\u7528 list \u65e0\u6cd5\u79fb\u9664\u67d0\u4e00\u4e2a\u5931\u6548\u7684 ip <br />\u60f3\u95ee\u4e0b\u5927\u4f6c\u4eec \u6709\u4ec0\u4e48\u597d\u7684\u89e3\u51b3\u65b9\u6848\u5417", 
      "date_published": "2023-07-22T17:31:36+00:00", 
      "title": "\u5173\u4e8e redis \u4e00\u4e2a\u5c0f\u95ee\u9898(\u968f\u673a\u6027)", 
      "id": "https://www.v2ex.com/t/958903"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ryan961", 
        "name": "ryan961", 
        "avatar": "https://cdn.v2ex.com/gravatar/707ba67287cce342f157e13ebb18478b?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/957661", 
      "title": "\u6c42\u6559\u5927\u4f6c\uff0c\u7ebf\u4e0a redis cluster \u4e2d\u9002\u5408\u4f7f\u7528 redis lua script \u5417\uff1f\u4ee5\u53ca\u4f7f\u7528\u65f6\u6709\u4ec0\u4e48\u6ce8\u610f\u4e8b\u9879\uff1f", 
      "id": "https://www.v2ex.com/t/957661", 
      "date_published": "2023-07-18T04:02:30+00:00", 
      "content_html": "<p>\u6211\u5c06\u4e00\u90e8\u5206\u903b\u8f91\u4ee3\u7801\u901a\u8fc7 lua \u811a\u672c\u5b9e\u73b0\uff0c\u53d8\u76f8\u7684\u5b9e\u73b0\u539f\u5b50\u64cd\u4f5c(\u5982\u4e0b)\uff0c\u4f46\u4e4b\u524d\u4f7f\u7528 lua \u811a\u672c\u662f\u9047\u5230\u8fc7 <code>not in the same slot</code> \u7684\u9519\u8bef\uff0c\u611f\u89c9\u6211\u7684\u8fd9\u4e2a\u811a\u672c\u53ef\u80fd\u4e0e\u4f1a\u9047\u5230\u3002\u5982\u679c\u6211\u771f\u7684\u901a\u8fc7 key \u52a0\u524d\u7f00\u7684\u65b9\u5f0f\u4fdd\u8bc1\u4ed6\u4eec\u5728\u540c\u4e00\u4e2a slot \u5185\u662f\u4e0d\u662f\u4e5f\u4f1a\u5bfc\u81f4 cluster \u5904\u4e8e\u4e00\u4e2a\u4e0d\u5065\u5eb7\u7684\u96c6\u7fa4\u72b6\u6001\u3002</p>\n<pre><code>local userAttributionKey = KEYS[1];\nlocal humeSource = KEYS[2];\nlocal attributeKeys = cjson.decode(KEYS[3]);\n\nif redis.call(\"EXISTS\", userAttributionKey) == 1 then\n    -- get attribution cache\n    local res = redis.call(\"GET\", userAttributionKey);\n    if res then\n        return { 1, res };\n    end\nend\n\nlocal matchResult = {};\nlocal hits = {};\nlocal latestTime = 0;\nfor i = 1, #attributeKeys do\n    local indexInfoString = redis.call(\"GET\", attributeKeys[i]);\n    if indexInfoString then\n        local indexInfo = cjson.decode(indexInfoString);\n        local reportSource = indexInfo['report_source'];\n        local uniqId = indexInfo['uniq_id'];\n        local timestamp = tonumber(indexInfo['timestamp']);\n\n        if humeSource == '' or humeSource == indexInfo['report_source'] then\n            -- check attribute index info\n            if reportSource ~= '' and uniqId ~= '' then\n                if timestamp &gt; latestTime then\n                    indexInfo['hit'] = attributeKeys[i];\n                    indexInfo['match_res'] = 'matched';\n                    matchResult = indexInfo;\n                    latestTime = timestamp;\n                end\n\n                table.insert(hits, attributeKeys[i]);\n            else\n                return redis.error_reply(\"Invalid Info:\" .. indexInfoString);\n            end\n        end\n\n        -- delete attribute key cache\n        redis.call(\"DEL\", attributeKeys[i])\n    end\nend\n\nif #hits &gt; 0 then\n    matchResult['hits'] = hits;\n    local matchResultStr = cjson.encode(matchResult);\n\n    -- set attribution cache\n    redis.call(\"SET\", userAttributionKey, matchResultStr, \"EX\", ARGV[1]);\n    return { 1, matchResultStr };\nend\n\nreturn { 0, cjson.encode(matchResult) };\n</code></pre>\n<p>\u8bf7\u6559\u4e0b\u5927\u4f6c\u548c\u524d\u8f88\uff0c\u6211\u8fd9\u662f\u4e0d\u662f\u4e00\u79cd\u9519\u8bef\u7684\u4f7f\u7528\u65b9\u5f0f\uff1f\u4ee5\u53ca lua script \u4f7f\u7528\u65f6\u6709\u4ec0\u4e48\u6ce8\u610f\u4e8b\u9879\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/JimmyChan1506", 
        "name": "JimmyChan1506", 
        "avatar": "https://cdn.v2ex.com/gravatar/f121a7434fce108c25344d55ef36cecb?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/956790", 
      "title": "\u600e\u4e48\u4f7f\u7528\u547d\u4ee4\u6279\u91cf\u5220\u9664\u5339\u914d\u7684 key \u503c?", 
      "id": "https://www.v2ex.com/t/956790", 
      "date_published": "2023-07-14T08:17:18+00:00", 
      "content_html": "<p>\u4f7f\u7528\u4e0b\u9762\u7684\u547d\u4ee4\u53ef\u4ee5\u67e5\u5230\u4e00\u5806 key</p>\n<pre><code>redis-cli -a myPassword -h redis-host -p 6379 --scan --pattern '*myKey*' \n</code></pre>\n<p>\u4f46\u4f7f\u7528\u4e0b\u9762\u7684\u547d\u4ee4,\u5374\u65e0\u6cd5\u5220\u9664\u6210\u529f</p>\n<pre><code>redis-cli -a myPassword -h redis-host -p 6379 --scan --pattern '*myKey*' | xargs redis-cli -a myPassword -h redis-host -p 6379 unlink \n(integer) 0\n</code></pre>\n<p>\u5f53\u7136\u4e86, \u628a <code>unlink</code> \u6539\u6210 <code>del</code> \u4e5f\u662f\u4e00\u6837\u7684\u6548\u679c, \u4e0d\u77e5\u9053\u5927\u5bb6\u6709\u6ca1\u6709\u89e3\u51b3\u8fc7\u4e00\u6837\u7684\u95ee\u9898?</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ben548", 
        "name": "ben548", 
        "avatar": "https://cdn.v2ex.com/gravatar/4823772b00d8680776306ddbccc88133?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/955072", 
      "title": "\u5bf9 redis \u7684 zset \u505a\u5206\u7247\u7684\u65f6\u5019\u600e\u4e48\u9009\u62e9\u5206\u7247\u4e2a\u6570", 
      "id": "https://www.v2ex.com/t/955072", 
      "date_published": "2023-07-08T04:09:50+00:00", 
      "content_html": "\u80cc\u666f\uff1a\u6d3b\u52a8\u573a\u666f\uff0c\u7528\u6237\u53ef\u4ee5\u8ba2\u9605\u6d3b\u52a8\uff0c\u8ba2\u9605\u5b8c\u4f1a\u5728\u6d3b\u52a8\u5f00\u59cb\u524d\u6536\u5230\u5f00\u59cb\u7684\u901a\u77e5\uff0c\u76ee\u524d\u4e86\u89e3\u5230\u5982\u679c\u662f\u70ed\u95e8\u6d3b\u52a8\u8ba2\u9605\u4eba\u6570\u53ef\u80fd\u8d85\u8fc7\u767e\u4e07\uff0c\u4f46\u662f\u6709\u4e9b\u4e0d\u600e\u4e48\u70ed\u95e8\u7684\u6d3b\u52a8\u53ef\u80fd\u53ea\u6709\u6570\u767e\u4eba\u6216\u8005\u4eba\u6570\u662f 0 \u3002<br />\u73b0\u72b6\uff1a\u5173\u6ce8\u4eba\u6570\u5b58\u5728 redis \u7684 zset \u4e2d\uff0c\u6bcf\u4e2a\u6d3b\u52a8\u6709\u4e00\u4e2a\u72ec\u7acb\u7684 zset \u3002\u53d1\u9001 push \u6d88\u606f\u901a\u77e5\u7684\u65f6\u5019\uff0c\u662f\u5206\u9875\u904d\u5386 zset \uff0c\u9010\u4e2a\u53d1\u9001\u901a\u77e5\u3002\u53ef\u80fd\u5728\u5173\u6ce8\u6570\u8d85\u767e\u4e07\u7684\u65f6\u5019\u9700\u8981\u8f83\u957f\u7684\u5904\u7406\u65f6\u95f4\uff08\u6bd4\u5982\u8d85\u8fc7 5 \u5206\u949f\uff09\u3002<br />\u8981\u6c42\uff1a\u5e0c\u671b\u5728\u63a8\u9001\u6d88\u606f\u65f6\u5c3d\u53ef\u80fd\u7684\u5feb\uff0c\u4f4e\u5ef6\u65f6\u3002<br />\u4e3a\u4e86\u8fbe\u5230\u8fd9\u4e2a\u8981\u6c42\uff0c\u9009\u62e9\u5bf9 zset \u505a\u5206\u7247\uff0c\u5206\u7247\u7684\u89c4\u5219\u662f\uff1a\u6309\u8ba2\u9605\u7528\u6237\u7684 userid \u505a hash \u53d6\u503c\uff0c\u53d6\u503c\u7ed3\u679c\u6309\u5206\u7247\u6570\u53d6\u6a21\uff0c\u5728\u5206\u914d\u5230\u76f8\u5e94\u7684 zset \u5206\u7247\u4e0a\u3002<br />\u95ee\u9898\uff1azset \u6570\u636e\u9664\u4e86\u627f\u62c5 push \u6d88\u606f\u901a\u77e5\u7684\u6570\u636e\u6e90\u4e4b\u5916\uff0c\u8fd8\u7528\u4e8e\u67e5\u8be2\u7528\u6237\u662f\u5426\u8ba2\u9605\u8be5\u6d3b\u52a8\u7684\u72b6\u6001\u67e5\u8be2\uff08\u8fd9\u4e2a\u6ca1\u5565\u95ee\u9898\uff0c\u627e\u5230\u5bf9\u5e94\u7684\u5206\u7247\uff0c\u7136\u540e\u67e5\u8be2 zscore \u5373\u53ef\uff09\u548c\u8ba2\u9605\u603b\u6570\u8ba1\u7b97\u7684\u89d2\u8272\u3002\u5982\u679c\u6211\u4e3a\u4e86\u67d0\u4e9b\u6d3b\u52a8\u53ef\u80fd\u8d85\u8fc7\u767e\u4e07\u7684\u5173\u6ce8\u8ba2\u9605\u6570\uff0c\u800c\u8bbe\u7f6e 1024 \u4e2a zset \u5206\u7247\uff0c\u662f\u4e0d\u662f\u610f\u5473\u7740\u7edd\u5927\u591a\u6570\u7684\u6d3b\u52a8\uff0c\u4e3a\u4e86\u8ba1\u7b97\u603b\u6570\u90fd\u8981\u53bb\u505a 1024 \u6b21 zcount \u518d\u5c06 result \u76f8\u52a0\u624d\u80fd\u5f97\u5230\u7ed3\u679c\uff1f\u611f\u89c9\u4e5f\u4e0d\u662f\u5f88\u597d\u7684\u8bbe\u8ba1\u3002\u3002\u3002\u3002\uff08\u5f53\u7136\u4e5f\u53ef\u4ee5\u603b\u6570\u5355\u72ec\u7ef4\u62a4\uff0c\u4e0d\u901a\u8fc7 zset \u5206\u7247\u7ed3\u679c\u76f8\u52a0\u83b7\u53d6\uff0c\u5c31\u662f\u8fd9\u6837\u53c8\u589e\u52a0\u4e86\u5b58\u50a8\u6210\u672c\uff09<br />\u5927\u5bb6\u89c9\u5f97\u8be5\u600e\u4e48\u505a\u6bd4\u8f83\u5408\u9002\u5462\uff1f"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ben548", 
        "name": "ben548", 
        "avatar": "https://cdn.v2ex.com/gravatar/4823772b00d8680776306ddbccc88133?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/953983", 
      "title": "\u5173\u4e8e\u6d88\u606f\u63a8\u9001\u65b9\u6848\u7684\u8ba8\u8bba", 
      "id": "https://www.v2ex.com/t/953983", 
      "date_published": "2023-07-04T06:32:30+00:00", 
      "content_html": "\u80cc\u666f\uff1a\u8fd0\u8425\u53ef\u4ee5\u914d\u7f6e\u65e0\u4e0a\u9650\u7684\u6d3b\u52a8\uff0c\u5728\u6d3b\u52a8\u5217\u8868\u548c\u8be6\u60c5\u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u8fdb\u884c\u5173\u6ce8\uff0c\u5173\u6ce8\u540e\u9700\u8981\u5728\u6d3b\u52a8\u5f00\u59cb\u524d 15 \u5206\u949f\u5411\u63a8\u9001\u6d3b\u52a8\u5f00\u59cb\u7684\u901a\u77e5\u6d88\u606f\u3002<br />\u5f53\u524d\u65b9\u6848\uff1a\u521b\u5efa\u5b8c\u6d3b\u52a8\u4e4b\u540e\u5411\u5ef6\u8fdf\u961f\u5217\u4e2d\u6295\u9012\u4e00\u4e2a\u6267\u884c\u65f6\u95f4\u4e3a\uff08\u6d3b\u52a8\u5f00\u59cb\u65f6\u95f4-15 \u5206\u949f\uff09\u7684\u4efb\u52a1\uff0c\u76ee\u524d\u5173\u6ce8\u7528\u6237\u5b58\u50a8\u5728 redis \u7684 zset \u4e2d\uff0c\u5411\u5ef6\u8fdf\u961f\u5217\u4e2d\u6295\u9012\u7684\u662f\u6d3b\u52a8\u7684 id \u4fe1\u606f\uff0c\u5ef6\u8fdf\u961f\u5217\u6d88\u8d39\u5230\u8fd9\u6761\u6d88\u606f\u7684\u65f6\u5019\uff0c\u4ece\u5173\u6ce8\u7684\u7528\u6237 zset \u4e2d\u62c9\u53d6\u7528\u6237 id \u8fdb\u884c\u6d88\u606f\u63a8\u9001\u3002<br />\u5ef6\u8fdf\u961f\u5217\u7684\u8bbe\u8ba1\uff1a\u76ee\u524d\u662f\u4f9d\u8d56 redis \uff0c\u751f\u4ea7\u8005\u5411 redis \u7684 zset \u4e2d\u6295\u9012 task \u4fe1\u606f\uff0cscore \u662f\u6d3b\u52a8\u7684\u901a\u77e5\u65f6\u95f4\uff08\u6d3b\u52a8\u5f00\u59cb\u65f6\u95f4-15 \u5206\u949f\uff09\uff0c\u7136\u540e\u8f6e\u8be2\u8fd9\u4e2a task \u7684 redis key \uff0c\u8bfb\u53d6\u5230\u671f\u662f\u4efb\u52a1\u4fe1\u606f\uff0c\u8bfb\u53d6\u5230\u4e4b\u540e\u5c06\u8be5\u4efb\u52a1\u4fe1\u606f\u6295\u9012\u5230 redis \u7684 list \uff08\u901a\u8fc7 rpush \uff09\u4e2d\uff0c\u6d88\u8d39\u8005\u5219\u4e00\u76f4\u8bfb\u53d6\u8fd9\u4e2a list \u961f\u5217\uff08\u901a\u8fc7 lpop \uff09\u3002<br />\u76ee\u524d\u60f3\u63a2\u8ba8\u7684\u662f\uff1a\u8fd9\u4e2a\u65b9\u6848\u662f\u5426\u5728\u6d3b\u52a8\u5f88\u591a\u7684\u65f6\u5019\u5bfc\u81f4\u63a8\u9001\u6d88\u606f\u7684\u5ef6\u8fdf\uff08\u867d\u7136\u53ef\u4ee5\u901a\u8fc7\u589e\u52a0\u6d88\u8d39\u8005\u6765\u7f13\u89e3\uff0c\u6b63\u5e38\u54ea\u6015\u662f\u4e00\u4e2a\u6d3b\u52a8\u6709\u767e\u4e07\u7ea7\u522b\u7684\u6d3b\u52a8\u5173\u6ce8\u8005\uff08\u6781\u5176\u7f55\u89c1\uff09\uff0c\u4ece redis \u7684 zset \u4e2d\u5206\u9875\u62c9\u53d6\u51fa\u6765\u5e76\u6295\u9012\u6d88\u606f\uff0c\u4e00\u822c\u5904\u7406\u65f6\u957f\u4e0d\u4f1a\u8d85\u8fc7 10 \u5206\u949f\uff09<br />\u4f46\u662f\u9690\u9690\u7ea6\u7ea6\u8fd8\u662f\u89c9\u5f97\u662f\u4e0d\u662f\u8fd8\u6709\u66f4\u597d\u7684\u65b9\u6848\u5462\uff1f\u53ef\u4ee5\u5c3d\u91cf\u51cf\u5c11\u5ef6\u8fdf\u7684\u65b9\u6848\u3002"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ben548", 
        "name": "ben548", 
        "avatar": "https://cdn.v2ex.com/gravatar/4823772b00d8680776306ddbccc88133?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/951909", 
      "title": "Redis \u7684 zset \u6309 score \u6392\u5e8f\u505a\u5206\u9875\u7684\u65f6\u5019\u600e\u4e48\u4fdd\u8bc1\u6570\u636e\u4e0d\u4e22\u5931\uff1f", 
      "id": "https://www.v2ex.com/t/951909", 
      "date_published": "2023-06-26T15:26:13+00:00", 
      "content_html": "\u56e0\u4e3a zset \u4e2d\u53ef\u4ee5\u5b58\u5728 score \u76f8\u540c\u7684\u6570\u636e\uff0c\u6309 score \u6765\u67e5\u8be2\u4e0b\u4e00\u9875\u65f6\uff0c\u600e\u4e48\u4fdd\u8bc1\u4e0b\u4e00\u9875\u76f8\u540c\u7684 score \u6570\u636e\u4e0d\u4e22\u5931\u5462\uff1f"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ben548", 
        "name": "ben548", 
        "avatar": "https://cdn.v2ex.com/gravatar/4823772b00d8680776306ddbccc88133?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/951425", 
      "title": "redis \u7684 zset \u5982\u679c\u6253\u6563\u6210\u591a\u4e2a zset \u7684\u8bdd\uff0c\u5982\u679c\u8981\u5206\u9875\u67e5\u8be2\u600e\u4e48\u5904\u7406\u5462\uff1f", 
      "id": "https://www.v2ex.com/t/951425", 
      "date_published": "2023-06-25T04:32:42+00:00", 
      "content_html": "\u6bd4\u5982\uff0c\u4e3a\u4e86\u907f\u514d big key \u95ee\u9898\u5c06 zset \u62c6\u5206\u6210 zset1 \u3001zset2 \u3001zset3 \uff0c\u5982\u679c\u8981\u5bf9\u8fd9\u4e2a zset \u505a\u5206\u9875\u67e5\u8be2\u7684\u8bdd\uff0c\u600e\u4e48\u5904\u7406\u5462\uff1f<br />\u7b2c\u4e00\u9875\u662f\u5f88\u5bb9\u6613\u7684\uff0c\u6bd4\u5982\u4e00\u9875 10 \u6761\uff0c\u6bcf\u4e00\u4e2a zset \u90fd\u67e5\u51fa top 10 \u7136\u540e\u5408\u5e76\u6392\u5e8f\u4e00\u4e0b\u5373\u53ef<br />\u4f46\u662f\u7b2c\u4e8c\u9875\u548c\u7b2c\u4e09\u9875\u5374\u4e0d\u80fd\u8fd9\u4e48\u5904\u7406\uff0c\u56e0\u4e3a\u76f4\u63a5\u4ece\u5404\u4e2a zset \u4e2d\u83b7\u53d6\u6392\u540d 10 \u5230 20 \u7684 value \uff0c\u6765\u505a\u6392\u5e8f\u5408\u5e76\u5f97\u5230\u7684\u7ed3\u679c\u5e76\u4e0d\u51c6\u786e<br />\u80fd\u60f3\u5230\u7684\u4e00\u4e2a\u65b9\u6848\u662f\u628a\u6240\u6709\u7684 zset \u90fd\u5408\u5e76\u6210\u4e00\u4e2a\u603b\u7684 zset \u518d\u6765\u5206\u9875\u5207\u5272\uff0c\u4f46\u662f\u611f\u89c9\u8fd9\u6837\u592a\u8017\u8d39\u6027\u80fd\u4e86\uff0c\u4e0d\u662f\u4e00\u4e2a\u597d\u7684\u65b9\u6848\u3002"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ben548", 
        "name": "ben548", 
        "avatar": "https://cdn.v2ex.com/gravatar/4823772b00d8680776306ddbccc88133?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/946461", 
      "title": "\u5173\u4e8e\u793e\u533a\u573a\u666f\u4e0b\uff0c\u7528\u6237\u5df2\u8bfb\u6587\u7ae0\u4e0d\u518d\u63a8\u8350\u8fd9\u79cd\u9700\u6c42\u5b9e\u73b0\u65b9\u6848\u7684\u63a2\u8ba8", 
      "id": "https://www.v2ex.com/t/946461", 
      "date_published": "2023-06-06T21:12:15+00:00", 
      "content_html": "\u9700\u6c42:<br />\u7528\u6237\u7b7e\u5230\u9875\u9762\uff0c\u4e3a\u7528\u6237\u63a8\u8350\u540e\u53f0\u914d\u7f6e\u597d\u7684\u6587\u7ae0\u5185\u5bb9\uff0c\u6309\u53d1\u5e03\u65f6\u95f4\u5012\u53d9\u6392\u5217\uff08\u6570\u636e\u5b58\u50a8\u5728 redis \u7684 zset \u4e2d\uff0cscore \u662f\u6587\u7ae0\u53d1\u5e03\u65f6\u95f4\uff0cvalue \u662f\u6587\u7ae0 id \uff09\uff0c\u5e76\u4e14\u53ef\u4ee5\u8ba4\u4e3a\u88ab\u63a8\u8350\u7684\u5185\u5bb9\u6570\u91cf\u6709\u4e0a\u9650\u9650\u5236\uff08\u4e0d\u591a\u4e8e 1000 \u6761\uff09\uff0c\u7528\u6237\u5df2\u9605\u7684\u6570\u636e\u4e0d\u518d\u63a8\u8350\u7ed9\u7528\u6237\uff0c\u76f4\u5230\u6240\u6709\u7684\u5185\u5bb9\u88ab\u63a8\u8350\u5b8c\uff0c\u518d\u4ece\u5934\u5f00\u59cb\u518d\u63a8\u8350\u4e00\u904d\uff0c\u4e00\u76f4\u5faa\u73af\u4e0b\u53bb\u3002<br />\u5b9e\u73b0\u65b9\u6848:<br />\u4e00\u822c\u6d89\u53ca\u5230\u8fd9\u79cd\u9700\u6c42\uff0c\u90fd\u4f1a\u60f3\u5230\u7528\u5e03\u9686\u8fc7\u6ee4\u5668\u6216\u8005 bitmap \u6765\u5b9e\u73b0\uff0c\u6211\u6700\u7ec8\u9009\u62e9\u4e86\u7528\u5e03\u9686\u8fc7\u6ee4\u5668\uff0c\u4e0d\u7528 bitmap \u7684\u4e3b\u8981\u539f\u56e0\u662f:<br />1.\u76ee\u524d post_id \u7684\u503c\u662f\u96ea\u82b1\u7b97\u6cd5\u751f\u6210\u7684\uff0c\u957f\u5ea6\u6709 16 \u4f4d\uff0c\u5982\u679c\u4e0d\u505a\u5904\u7406\u76f4\u63a5\u628a\u8fd9\u4e2a id \u5f53\u6210 bitmap \u7684 offset \u4f1a\u9020\u6210\u6781\u5927\u7684\u5185\u5b58\u7a7a\u95f4\u6d6a\u8d39\uff0c\u800c\u600e\u4e48\u628a\u8fd9\u4e9b post_id \u8f6c\u6362\u6210\u66f4\u5c0f\u7684\u4ece 1 \u5f00\u59cb\u9012\u589e\u7684\u6570\u5b57\uff0c\u5904\u7406\u8d77\u6765\u6bd4\u8f83\u9ebb\u70e6\uff08\u4e0d\u662f\u4e0d\u53ef\u4ee5\uff0c\u81ea\u5df1\u60f3\u5230\u7684\u5c31\u6709\u51e0\u79cd\uff0c\u6bd4\u5982\u8bf4:\u56e0\u4e3a\u5c55\u793a\u7684\u5185\u5bb9\u90fd\u662f\u5173\u8054\u4e86\u67d0\u4e9b tag \u7684\u5185\u5bb9\uff0c\u7528\u6570\u636e\u5e93\u91cc\u9762\u7684\u5173\u8054\u5173\u7cfb\u8868\u7684 id \u4f5c\u4e3a bitmap \u7684 offset \u6765\u5904\u7406\u662f\u53ef\u4ee5\u505a\u5230\u7684,\u4e4b\u6240\u4ee5\u4e0d\u9009\u62e9 bitmap \u6700\u4e3b\u8981\u8fd8\u662f\u4e0b\u9762\u7684\u539f\u56e0 2 \uff09;<br />2.getbit \u4e0d\u652f\u6301\u6279\u91cf\u67e5\u8be2\uff08\u5f53\u7136\u6211\u77e5\u9053\u6709\u4eba\u53ef\u80fd\u8981\u8bf4\u53ef\u4ee5\u7528 lua \u811a\u672c\uff0c\u7528 pipeline \u4e4b\u7c7b\u7684\uff0c\u4f46\u662f\u5199\u8d77\u6765\u6709\u70b9\u9ebb\u70e6\uff09\u800c\u9009\u62e9\u5e03\u9686\u8fc7\u6ee4\u5668\u5c31\u6ca1\u6709\u4e0a\u9762\u8fd9\u4e24\u4e2a\u95ee\u9898\u4e86<br />\u8fd9\u6b21\u9009\u7528\u7684\u662f\u76f4\u63a5\u88c5 redis \u7684\u5e03\u9686\u8fc7\u6ee4\u5668\u6a21\u5757\uff0c\u5b9e\u73b0\u65b9\u6848\u5982\u4e0b:<br />1.\u6bcf\u4e2a\u7528\u6237\u521d\u59cb\u5316\u4e00\u4e2a 500 \u957f\u5ea6\u7684\u5e03\u9686\u8fc7\u6ee4\u5668\uff0c\u7528\u6237\u5df2\u9605\u7684\u5185\u5bb9\u901a\u8fc7 bf.add \u64cd\u4f5c\u52a0\u5165\u4ed6\u7684\u5e03\u9686\u8fc7\u6ee4\u5668\u4e2d<br />2.\u83b7\u53d6\u5217\u8868\u6570\u636e\u7684\u65f6\u5019\uff0c\u6309\u4e0b\u9762\u7684\u6b65\u9aa4\u8fdb\u884c:<br />2.1 \u4ece zset \u4e2d\u8bfb\u53d6 100 \u6761\u6570\u636e\uff0c<br />2.2 \u901a\u8fc7 bf.mexist \u64cd\u4f5c\u67e5\u8be2\u8fd9\u4e9b\u5185\u5bb9\u662f\u5426\u5df2\u9605\uff0c\u5df2\u9605\u7684\u5185\u5bb9\u8df3\u8fc7<br />2.3 \u4e00\u76f4\u5faa\u73af 2.1 \u548c 2.2 \u6b65\u9aa4\uff0c\u76f4\u5230\u67e5\u5230\u6ee1\u8db3\u6761\u76ee\u6570\u7684\u5185\u5bb9\u4e3a\u6b62\uff08\u76ee\u524d\u662f\u5b9a\u7684 12 \u6761\u4e00\u9875\uff09<br />2.4 \u5982\u679c zset \u67e5\u5230\u6700\u540e\u90fd\u6ca1\u6709\u5f97\u5230\u6ee1\u8db3\u6761\u4ef6\u7684\u6761\u76ee\u6570\uff0c\u5219\u8fd4\u56de\u7ecf\u8fc7\u4e86 2.1 \u548c 2.2 \u6b65\u9aa4\u4e4b\u540e\u83b7\u53d6\u5230\u7684\u6570\u636e\uff08\u53ef\u80fd\u6709\u6570\u636e\uff0c\u53ea\u662f\u4e0d\u6ee1\u8db3 12 \u6761\u7684\u6761\u4ef6\uff0c\u603b\u6570\u8bb0\u4e3a total1 \uff09+zset \u4e2d\u6309\u53d1\u5e03\u65f6\u95f4\u987a\u5e8f\u5012\u5e8f\u83b7\u53d6 12-total1 \u6761\u6570\u636e\u4f5c\u4e3a\u8865\u5145 2.5 \u4ec0\u4e48\u65f6\u5019\u5220\u9664\u7528\u6237\u7684\u5e03\u9686\u8fc7\u6ee4\u5668\uff1f 2.4 \u6b65\u9aa4\u4e2d\u53d1\u73b0 total1 \u7684\u6570\u91cf\u4e3a 0 \uff08\u8bf4\u660e\u6240\u6709\u5185\u5bb9\u90fd\u5df2\u7ecf\u9605\u8bfb\u8fc7\u4e86\uff09\u65f6\u8fdb\u884c\u5220\u9664<br />\u5185\u5b58\u5360\u7528\u4f30\u7b97:\u6709\u8bd5\u8fc7\u6a21\u62df\u4e00\u4e2a 500 \u957f\u5ea6 size \u7684\u5e03\u9686\u8fc7\u6ee4\u5668\u5927\u81f4\u7684\u5185\u5b58\u5360\u7528\u4e3a 800 \u591a\u4e2a\u5b57\u8282\uff0c\u6309 50w \u65e5\u6d3b\u6765\u8ba1\u7b97\u7684\u8bdd\uff0c\u603b\u7684\u5360\u7528\u7a7a\u95f4\u4e3a\u4e24\u4e09\u767e M \u5de6\u53f3\uff0c\u5728\u53ef\u63a5\u53d7\u8303\u56f4\u5185\uff0c\u4f46\u662f\u5982\u679c\u4e3a\u6bcf\u4e2a\u7528\u6237\u521d\u59cb\u5316 1000 \u957f\u5ea6 size \u7684\u5e03\u9686\u8fc7\u6ee4\u5668\uff0c\u5185\u5b58\u5360\u7528\u5c31\u6709\u70b9\u9ad8\u4e86\uff0c\u521d\u6b65\u9884\u4f30\u5728 900M \u5de6\u53f3<br />\u6211\u7684\u7591\u95ee:<br />1.\u5176\u5b9e\u7528\u5e03\u9686\u8fc7\u6ee4\u5668\u7684\u65b9\u6848\uff0c\u6709\u901a\u8fc7 golang \u81ea\u5df1\u4f9d\u8d56 redis \u7684 bitmap \u7ed3\u6784\u5b9e\u73b0\u4e00\u4e2a\u7684\u65b9\u6848\u4e5f\u6709\u76f4\u63a5\u7528 redis \u7684\u5e03\u9686\u8fc7\u6ee4\u5668\u6a21\u5757\uff08\u9700\u8981\u7f16\u8bd1\u5b89\u88c5\uff09\u7684\u65b9\u6848\uff0c\u6211\u597d\u5947\u54ea\u79cd\u65b9\u6848\u66f4\u597d\uff1f<br />2.\u4e0a\u9762\u8bf4\u5230\u7684\u83b7\u53d6\u5217\u8868\u6570\u636e\u7684\u903b\u8f91\uff0c\u603b\u611f\u89c9\u662f\u4e0d\u662f\u6709\u4ec0\u4e48\u5730\u65b9\u53ef\u4ee5\u4f18\u5316\uff0c\u56e0\u4e3a\u6309\u4e0a\u9762\u63cf\u8ff0\u7684\u903b\u8f91\uff0c\u6bcf\u4e00\u6b21\u90fd\u8981\u904d\u5386\u4e00\u904d zset \u4e2d\u7684\u6570\u636e\uff0c\u6700\u5dee\u7684\u60c5\u51b5\u4e0b\uff0c\u4f1a\u6709\u6570\u5341\u6b21\u7684 redis \u67e5\u8be2\uff08\u6bd4\u5982\u6700\u540e\u4e00\u9875\uff09<br />3.\u53ef\u80fd\u6709\u4eba\u4f1a\u8bf4\u53ef\u4ee5\u7528 bf.count \u770b\u7528\u6237\u5df2\u9605\u5185\u5bb9\u7684\u603b\u6570\uff0c\u56e0\u4e3a\u603b\u662f\u6700\u65b0\u7684\u5185\u5bb9\u5c55\u793a\u51fa\u6765\uff0c\u90a3\u4e48\u76f4\u63a5\u8df3\u8fc7 bf.count \u7684\u603b\u6570\u53bb\u83b7\u53d6\u6570\u636e\u5373\u53ef\uff0c\u5c31\u4e0d\u7528\u90a3\u4e48\u9ebb\u70e6\uff0c\u4f46\u662f\u8fd9\u6837\u83b7\u53d6\u6709\u4e2a\u95ee\u9898\uff0c\u5c31\u662f\u65b0\u52a0\u5165 zset \u7684\u5185\u5bb9\uff08\u800c\u4e14\u53d1\u5e03\u65f6\u95f4\u8fd8\u662f\u6700\u65b0\u7684\uff09\uff0c\u6309\u8fd9\u4e2a\u65b9\u6848\u6765\u5904\u7406\uff0c\u51e0\u4e4e\u65e0\u6cd5\u5f97\u5230\u5c55\u793a\uff08\u53ea\u6709\u7b49\u5185\u5bb9\u8017\u5c3d\uff0c\u5230\u4e0b\u4e00\u8f6e\u63a8\u8350\u624d\u80fd\u5c55\u793a\uff09<br />4.\u8fd9\u4e2a\u5217\u8868\u662f\u5c55\u793a\u5728\u7528\u6237\u7b7e\u5230\u7684\u4e0b\u65b9\u5185\u5bb9\u63a8\u8350\u7684\u6a21\u5757\u4e2d\uff0c\u6211\u5728\u60f3\u6bcf\u4e2a\u7528\u6237\u7684\u5e03\u9686\u8fc7\u6ee4\u5668\u521d\u59cb\u957f\u5ea6\u8bbe\u7f6e\u4e3a\u591a\u5c11\u6bd4\u8f83\u5408\u9002\uff0c\u4e00\u5f00\u59cb\u60f3\u7740\u76f4\u63a5\u8bbe\u7f6e 1000 \u7684\u957f\u5ea6\uff0c\u4f46\u662f\u60f3\u5230\u771f\u5b9e\u7684\u573a\u666f\uff0c\u7528\u6237\u53ef\u80fd\u7b7e\u5b8c\u5230\u5c31\u79bb\u5f00\u4e86\uff0c\u4e0d\u4f1a\u53bb\u6d88\u8d39\u5185\u5bb9\uff08\u867d\u7136\u4e0d\u4f1a\u4e3b\u52a8\u4e0b\u62c9\u6d88\u8d39\uff0c\u4f46\u662f\u5e95\u90e8\u4f1a\u5916\u6f0f\u51fa 2 \u5230 4 \u6761\u5185\u5bb9\u51fa\u6765\uff0c\u4e5f\u88ab\u8ba4\u4e3a\u662f\u7528\u6237\u5df2\u9605\u7684\u5185\u5bb9\uff09\uff0c\u6240\u4ee5\u76f4\u63a5\u521d\u59cb\u5316 1000 \u957f\u5ea6\u6211\u611f\u89c9\u6709\u70b9\u6d6a\u8d39\uff0c\u6240\u4ee5\u8003\u8651\u5148\u521d\u59cb\u5316 500 \u4e2a\uff0c\u6d88\u8d39\u5185\u5bb9\u8d85\u8fc7 500 \u4e2a\u7684\u8bdd\uff0cRedis \u7684\u5e03\u9686\u8fc7\u6ee4\u5668\u4f1a\u81ea\u52a8\u6269\u5bb9\uff0c\u6269\u5bb9\u6210\u81ea\u5df1\u7684 2 \u500d\u5185\u5b58\u7a7a\u95f4\uff08\u8bd5\u8fc7\uff0c\u8fd9\u79cd\u6269\u5bb9\u6700\u7ec8\u5360\u7684\u5185\u5b58\u7a7a\u95f4\u4f1a\u6bd4\u4e00\u5f00\u59cb\u5c31\u521d\u59cb\u5316 1000 \u957f\u5ea6\u7684\u5185\u5b58\u7a7a\u95f4\u5360\u7528\u5927\u5f88\u591a\uff09\uff0c\u4e0d\u77e5\u9053\u8fd9\u4e48\u8bbe\u8ba1\u662f\u5426\u5408\u9002\uff1f\u4ee5\u4e0a\u5c31\u662f\u6211\u4e2a\u4eba\u7684\u4e00\u4e9b\u5b9e\u73b0\u65b9\u6848\u7684\u60f3\u6cd5\u548c\u63a2\u7d22\uff0c\u5927\u5bb6\u6709\u4ec0\u4e48\u89c2\u70b9\u548c\u770b\u6cd5\uff0c\u6b22\u8fce\u8bc4\u8bba\u7559\u8a00\u4e00\u8d77\u63a2\u8ba8\u4e00\u4e0b"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ben548", 
        "name": "ben548", 
        "avatar": "https://cdn.v2ex.com/gravatar/4823772b00d8680776306ddbccc88133?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/946008", 
      "title": "\u4e00\u4e2a abtest \u5b9e\u9a8c\u4e2d redis \u8bbe\u8ba1\u7684\u601d\u8003", 
      "id": "https://www.v2ex.com/t/946008", 
      "date_published": "2023-06-05T09:21:29+00:00", 
      "content_html": "\u4e00\u4e2a\u5173\u4e8e abtest \u9700\u6c42\u7684 redis \u573a\u666f\u95ee\u9898\uff0c<br />\u9700\u6c42\uff1a\u9700\u8981\u5c06\u7528\u6237\u5206\u6210 abcd \u56db\u4e2a\u6876\uff0c\u4e0d\u540c\u6876\u5185\u7528\u6237\u770b\u5230\u7684\u4fe1\u606f\u4e0d\u540c\uff0c\u7b2c\u4e00\u6b21\u5206\u6876\u65f6\u9700\u8981\u5c06\u5206\u6876\u7ed3\u679c\u53d1\u9001\u7ed9\u6570\u636e\u90e8\u95e8\u3002<br />\u5b9e\u73b0\uff1a\u5c06\u7528\u6237 id \u7ecf\u8fc7 murmurhash \u8ba1\u7b97\u51fa\u6765\u7684\u54c8\u5e0c\u7ed3\u679c\u6309 4 \u53d6\u6a21\uff0c\u5f97\u5230\u5206\u6876\u4fe1\u606f\uff0c\u5c06\u8be5\u7ed3\u679c\u4fdd\u6301\u5230 redis \u4e2d\uff0c\u6bcf\u4e2a\u7528\u6237\u4e00\u4e2a redis key \uff0c\u5b57\u7b26\u4e32\u7c7b\u578b\u5b58\u50a8\uff0c\u5982 abresult_11111(user_id):1,\u7a0b\u5e8f\u5f00\u59cb\u6267\u884c\u65f6\u5148\u8bfb\u53d6 redis \uff0c\u5982\u679c\u5b58\u5728\u5206\u6876\u8bb0\u5f55\uff0c\u90a3\u4e48\u76f4\u63a5\u8fd4\u56de\uff0c\u4e0d\u5b58\u5728\u5219\u8fdb\u884c\u5206\u6876\u64cd\u4f5c\uff0c\u5e76\u5c06\u5206\u6876\u7ed3\u679c\u53d1\u7ed9\u6570\u636e\u90e8\u95e8<br /><br />\u7591\u95ee\uff1a<br />\u76ee\u524d\u8fd9\u4e2a\u8bbe\u8ba1\u662f\u4e00\u4e2a\u597d\u7684\u8bbe\u8ba1\u5417\uff1f\u767e\u4e07\u7ea7\u522b\u7684\u7528\u6237\u91cf\u7684\u8bdd\uff0c\u662f\u4e0d\u662f\u4f1a\u751f\u6210\u767e\u4e07\u7684 redis key \uff0c\u5370\u8c61\u4e2d redis_key \u8fc7\u591a\u4e0d\u662f\u4e00\u4e2a\u597d\u7684\u8bbe\u8ba1\uff0c\u6bd4\u5982\u4e0d\u597d\u7ba1\u7406\u7b49\u3002<br />\u6211\u80fd\u60f3\u5230\u7684\u51e0\u4e2a\u95ee\u9898\uff1a<br />1.\u5370\u8c61\u4e2d\u7528 hash \u7ed3\u6784\u6765\u5b58\u50a8\uff0c\u4f1a\u88ab\u8fd9\u79cd\u5b58\u50a8\u65b9\u5f0f\u8282\u7ea6\u5185\u5b58,\u4f46\u662f\u7528 hash \u6765\u5b58\u50a8\u5fc5\u7136\u5bfc\u81f4 big key \u95ee\u9898\uff0c\u5f53\u7136\u5728\u8fd9\u79cd\u573a\u666f\u4e0b\u9762\uff0c\u4e0d\u6d89\u53ca\u50cf getall \u90a3\u6837\u7684 O(n)\u64cd\u4f5c\uff0c\u662f\u4e0d\u662f big key \u95ee\u9898\u53ef\u4ee5\u57fa\u672c\u5ffd\u7565\u4e0d\u8ba1\uff1f\u5370\u8c61\u4e2d big key \u53ef\u80fd\u5bfc\u81f4\u7684\u95ee\u9898\u4e0d\u6b62\u662f\u6027\u80fd\u95ee\u9898\uff0c\u8fd8\u6709\u50cf\u6570\u636e\u503e\u659c\u5bfc\u81f4\u7684\u8bbf\u95ee\u503e\u659c\u95ee\u9898\u7b49\uff0c\u6240\u4ee5\u7528 hash \u6765\u5b58\u50a8\u7684\u8bdd\u662f\u4e0d\u662f\u4e5f\u8981\u90a3\u7528\u6237 id \u6765\u505a\u5206\u7247\u624d\u662f\u6bd4\u8f83\u5408\u9002\u7684\u65b9\u6848\uff1f<br />2.redis \u7684\u5220\u9664\u662f\u60f0\u6027\u5220\u9664+\u5b9a\u65f6\u5220\u9664\uff0c\u5b9a\u65f6\u5220\u9664\u57fa\u4e8e\u53d6\u6837\uff0c\u53d6\u6837\u7684\u8bdd\u5982\u679c\u5931\u6548\u7684\u6570\u636e\u8fc7\u591a\uff0c\u5370\u8c61\u4e2d\u4f1a\u4e00\u76f4\u4e0d\u65ad\u7684\u5faa\u73af\u5220\u9664\uff0c\u6307\u5b9a\u53d6\u6837\u7684\u7ed3\u679c\u4e0d\u6ee1\u8db3\u4e3a\u6b62\uff0c\u60f3\u77e5\u9053\u8fd9\u4e2a\u5b9a\u65f6\u5220\u9664\u662f\u5728\u4e3b\u8fdb\u7a0b\u4e0a\u5b8c\u6210\u7684\u5417\uff1f\u5982\u679c\u8fc7\u591a\u7684 key \u5931\u6548\uff0c\u4f1a\u963b\u585e redis \u8fdb\u7a0b\u5417\uff1f<br /><br />\u5927\u4f6c\u4eec\uff0c\u4e00\u8d77\u8ba8\u8bba\u4e0b\u554a\uff1f\u4e00\u4e2a\u662f\u4e0a\u9762\u63d0\u51fa\u7684\u4e00\u4e9b\u95ee\u9898\uff0c\u8fd8\u6709\u5c31\u662f\u5982\u679c\u662f\u4f60\u4eec\u6765\u8bbe\u8ba1\u7684\u8bdd\u4f1a\u600e\u4e48\u8bbe\u8ba1\uff1f"
    }
  ]
}