{"id":917,"date":"2025-03-22T14:44:42","date_gmt":"2025-03-22T06:44:42","guid":{"rendered":"https:\/\/eve2333.top\/?p=917"},"modified":"2025-03-22T14:44:43","modified_gmt":"2025-03-22T06:44:43","slug":"%e9%bb%91%e9%a9%ac%e7%a8%8b%e5%ba%8f%e5%91%98redis%e5%85%a5%e9%97%a8%e5%88%b0%e5%ae%9e%e6%88%98%e6%95%99%e7%a8%8b%e5%9f%ba%e7%a1%80%e7%af%87","status":"publish","type":"post","link":"https:\/\/eve2333.top\/?p=917","title":{"rendered":"\u9ed1\u9a6c\u7a0b\u5e8f\u5458Redis\u5165\u95e8\u5230\u5b9e\u6218\u6559\u7a0b\u57fa\u7840\u7bc7"},"content":{"rendered":"\n<p>Redis\u662f\u4e00\u4e2a\u952e\u503c\u6570\u636e\u5e93\uff0c\u5373\u4ee5key-value\u683c\u5f0f\u5b58\u50a8\u7684\uff0c\u8fd9\u79cdNoSQL\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93\u4e0eMySQL\u5173\u7cfb\u578b\u6570\u636e\u5e93\u622a\u7136\u76f8\u53cd<\/p>\n\n\n\n<p>SQL\u4e2d\u7684S\u6307\u7684\u662fstructured\u7ed3\u6784\u5316\uff0c\u90a3\u4e48NOSQL\u7684\u975e\u7ed3\u6784\u5316\uff0c\u4e00\u822cNOSQL\u5206\u4e3a\u56db\u79cd<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u952e\u503c\u578b\uff0c\u5982redis\u8fd9\u79cdkey-value\u4e00\u4e00\u5bf9\u5e94\u7684\uff0c<\/li>\n\n\n\n<li>\u6587\u6863\u578b\uff0cDOcument\u3002\u5b58\u50a8JSON\u8fd9\u79cd\u7279\u6b8a\u5b57\u7b26\u4e32<\/li>\n\n\n\n<li>\u56fe\u578b\uff0cGraph\uff0c\u5b58\u50a8\u7684\u4fe1\u606f\u4e3a\u8282\u70b9<\/li>\n\n\n\n<li>\u5217\u8868\u578b\uff0cHBase<\/li>\n<\/ol>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"230\" width=\"677\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/0bceed02225e4a1eb7e3a26d2d5be04f.png\" alt=\"\"><\/p>\n\n\n\n<p>&nbsp;\u7b2c\u4e8c\u4e2a\u662f\u5173\u8054\u6027Relational\u3002NOSQL\u591a\u4e3a\u5d4c\u5957\u7684\u5f62\u5f0f\uff0c\u4ee5JSON\u7684\u683c\u5f0f\u5728\u8868\u548c\u8868\u4e4b\u95f4\u5b8c\u6210\u8054\u7cfb<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> {\n  id: 1,\n  name: \"\u5f20\u4e09\",\n  orders: &#91;\n    {\n      id: 1,\n      item: {\n        id: 10, title: \"\u8363\u80006\", price: 4999\n      }\n    },\n    {\n      id: 2,\n      item: {\n        id: 20, title: \"\u5c0f\u7c7311\", price: 3999\n      }\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<p>\u7b2c\u4e09\uff0cSQL\u67e5\u8be2\u6709\u4e00\u4e2a\u56fa\u5b9a\u8bed\u6cd5\uff0c\u6bd4\u5982SELECT id\uff0cname\uff0cage&nbsp; &nbsp;FROM tb_user&nbsp; &nbsp; &nbsp; &nbsp; WHERE id=1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\u800credis\u53ea\u9700\u8981 get user\uff1a1\uff0c\u76f8\u4f3c\u7684MongoDB\u662fdb.users.find\uff08{_id:1}\uff09\u8fd9\u6837\u7684\uff0c\u7c7b\u4f3c\u4e00\u4e2a\u51fd\u6570\uff0c\u4e0d\u662f\u7edf\u4e00\u7684SQL\u8bed\u6cd5<\/p>\n\n\n\n<p>\u7b2c\u56db\u5728\u4e8e\u4e8b\u7269\u7684\u7279\u6027\uff0c\u5373SQL\u53ef\u4ee5ACID\u5747\u80fd\u6ee1\u8db3\uff0c\u76f8\u5bf9\u7684\u65e0\u4e8b\u7269\u6216\u8005\u65e0\u6cd5\u5168\u90e8\u6ee1\u8db3\uff0c\u4ec5\u4ec5BASE<\/p>\n\n\n\n<p>\u4ee5\u4e0b\u662f\u56fe\u4e2d\u7684\u6587\u5b57\u4fe1\u606f\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u7279\u6027<\/th><th>SQL<\/th><th>NoSQL<\/th><\/tr><\/thead><tbody><tr><td>\u6570\u636e\u7ed3\u6784<\/td><td>\u7ed3\u6784\u5316 (Structured)<\/td><td>\u975e\u7ed3\u6784\u5316<\/td><\/tr><tr><td>\u6570\u636e\u5173\u8054<\/td><td>\u5173\u8054\u7684 (Relational)<\/td><td>\u65e0\u5173\u8054\u7684<\/td><\/tr><tr><td>\u67e5\u8be2\u65b9\u5f0f<\/td><td>SQL\u67e5\u8be2<\/td><td>\u975eSQL<\/td><\/tr><tr><td>\u4e8b\u52a1\u7279\u6027<\/td><td>ACID<\/td><td>BASE<\/td><\/tr><tr><td>\u5b58\u50a8\u65b9\u5f0f<\/td><td>\u78c1\u76d8<\/td><td>\u5185\u5b58<\/td><\/tr><tr><td>\u6269\u5c55\u6027<\/td><td>\u5782\u76f4<\/td><td>\u6c34\u5e73<\/td><\/tr><tr><td>\u4f7f\u7528\u573a\u666f<\/td><td>1) \u6570\u636e\u7ed3\u6784\u56fa\u5b9a<\/td><td>1) \u6570\u636e\u7ed3\u6784\u4e0d\u56fa\u5b9a<\/td><\/tr><tr><td><\/td><td>2) \u76f8\u5173\u4e1a\u52a1\u5bf9\u6570\u636e\u5b89\u5168\u6027\u3001\u4e00\u81f4\u6027\u8981\u6c42\u8f83\u9ad8<\/td><td>2) \u5bf9\u4e00\u81f4\u6027\u3001\u5b89\u5168\u6027\u8981\u6c42\u4e0d\u9ad8<\/td><\/tr><tr><td><\/td><td><\/td><td>3) \u5bf9\u6027\u80fd\u8981\u6c42<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>NoSQL\u6570\u636e\u5e93\u7c7b\u578b\uff1a<br>1. \u952e\u503c\u7c7b\u578b (Redis)<br>2. \u6587\u6863\u7c7b\u578b (MongoDB)<br>3. \u5217\u7c7b\u578b (HBase)<br>4. Graph\u7c7b\u578b (Neo4j)<\/p>\n\n\n\n<p>&nbsp;RESIS\u7684\u5168\u79f0\u662fRemote Dictionary Server\uff0c\u662f\u57fa\u4e8e\u5185\u5b58\u7684\u952e\u503c\u578b\u6570\u636e\u5e93<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u952e\u503c\uff08key-value\uff09\u578b\uff0cvalue\u652f\u6301\u591a\u79cd\u4e0d\u540c\u6570\u636e\u7ed3\u6784\uff0c\u529f\u80fd\u4e30\u5bcc<\/li>\n\n\n\n<li>\u5355\u7ebf\u7a0b\uff0c\u6bcf\u4e2a\u547d\u4ee4\u5177\u5907\u539f\u5b50\u6027<\/li>\n\n\n\n<li>\u4f4e\u5ef6\u8fdf\uff0c\u901f\u5ea6\u5feb\uff08\u57fa\u4e8e\u5185\u5b58\u300110\u591a\u8def\u590d\u7528\u3001\u826f\u597d\u7684\u7f16\u7801\uff09\u3002<\/li>\n\n\n\n<li>\u652f\u6301\u6570\u636e\u6301\u4e45\u5316<\/li>\n\n\n\n<li>\u652f\u6301\u4e3b\u4ece\u96c6\u7fa4\u3001\u5206\u7247\u96c6\u7fa4<\/li>\n\n\n\n<li>\u652f\u6301\u591a\u8bed\u8a00\u5ba2\u6237\u7aef<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">&nbsp;\u5b89\u88c5Redis<\/h2>\n\n\n\n<p>\u9996\u5148\u5728centos7\u4e0a\u8fdb\u884c\uff0c\u5b89\u88c5Redis\u4f9d\u8d56<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum install -y gcc tcl<\/code><\/pre>\n\n\n\n<p>\u5c066.2.6\u7248\u672c\u62d6\u5165\u5176\u4e2d\uff0c\u901a\u8fc7\u6b64\u547d\u4ee4\u89e3\u538b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> tar -zxvf redis-6.2.6.tar.gz\n\u8fdb\u5165redis-6.2.6\u76ee\u5f55\n\u8fd0\u884c\u7f16\u8bd1\u547d\u4ee4\nmake &amp;&amp; make install<\/code><\/pre>\n\n\n\n<p>\u00a0\u9ed8\u8ba4\u7684\u5b89\u88c5\u8def\u5f84\u662f\u5728\u5728 \/usr\/Local\/bin\u76ee\u5f55\u4e0b\uff1a<img loading=\"lazy\" decoding=\"async\" height=\"244\" width=\"680\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/e1fd801513764de58a28c92e5dfbced5.png\" alt=\"\"><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u6700\u7b80\u5355\u7684 redis-server \u5373\u53ef\u8fd0\u884c\n&#91;root@centos1 redis-6.2.6]# redis-server\n7410:C 28 Feb 2025 15:06:59.066 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo\n7410:C 28 Feb 2025 15:06:59.066 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=7410, just started\n7410:C 28 Feb 2025 15:06:59.066 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server \/path\/to\/redis.conf\n7410:M 28 Feb 2025 15:06:59.068 * Increased maximum number of open files to 10032 (it was originally set to 1024).\n7410:M 28 Feb 2025 15:06:59.068 * monotonic clock: POSIX clock_gettime\n                _._                                                  \n           _.-``__ ''-._                                             \n      _.-``    `.  `_.  ''-._           Redis 6.2.6 (00000000\/0) 64 bit\n  .-`` .-```.  ```\\\/    _.,_ ''-._                                  \n (    '      ,       .-`  | `,    )     Running in standalone mode\n |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379\n |    `-._   `._    \/     _.-'    |     PID: 7410\n  `-._    `-._  `-.\/  _.-'    _.-'                                   \n |`-._`-._    `-.__.-'    _.-'_.-'|                                  \n |    `-._`-._        _.-'_.-'    |           https:\/\/redis.io       \n  `-._    `-._`-.__.-'_.-'    _.-'                                   \n |`-._`-._    `-.__.-'    _.-'_.-'|                                  \n |    `-._`-._        _.-'_.-'    |                                  \n  `-._    `-._`-.__.-'_.-'    _.-'                                   \n      `-._    `-.__.-'    _.-'                                       \n          `-._        _.-'                                           \n              `-.__.-'                                               \n\n7410:M 28 Feb 2025 15:06:59.072 # WARNING: The TCP backlog setting of 511 cannot be enforced because \/proc\/sys\/net\/core\/somaxconn is set to the lower value of 128.\n7410:M 28 Feb 2025 15:06:59.072 # Server initialized\n<\/code><\/pre>\n\n\n\n<p>&nbsp;\u8fd9\u79cd\u542f\u52a8\u5c5e\u4e8e[\u524d\u53f0\u542f\u52a8]\uff0c\u4f1a\u963b\u585e\u6574\u4e2a\u4f1a\u8bdd\u7a97\u53e3\uff0c\u7a97\u53e3\u5173\u95ed\u6216\u8005\u6309\u4e0bCTRL+C\u5219Redis\u505c\u6b62\u3002\u4e0d\u63a8\u8350\u4f7f\u7528<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cp redis.conf redis.conf.bck\n#\u5148\u62f7\u8d1d\u4e00\u4efd\n#\u7136\u540e\u4fee\u6539conf\u6587\u4ef6\nvi redis.conf\n\n#\u76d1\u542c\u7684\u5730\u5740\uff0c\u9ed8\u8ba4\u662f127.0.0.1\uff0c\u4f1a\u5bfc\u81f4\u53ea\u80fd\u5728\u672c\u5730\u8bbf\u95ee\u3002\u4fee\u6539\u4e3a0.0.0.0\u5219\u53ef\u4ee5\u5728\u4efb\u610fIP\u8bbf\u95ee\uff0c\n\u751f\u4ea7\u73af\u5883\u4e0d\u8981\u8bbe\u7f6e\u4e3a0.0.0.0\nbind 0.0.0.0\n\n#\u5b88\u62a4\u8fdb\u7a0b\uff0c\u4fee\u6539\u4e3ayes\u540e\u5373\u53ef\u540e\u53f0\u8fd0\u884c\ndaemonize yes\n\n#\u5bc6\u7801\uff0c\u8bbe\u7f6e\u540e\u8bbf\u95eeRedis\u5fc5\u987b\u8f93\u5165\u5bc6\u7801\nrequirepass 123321\n\n#\u5176\u4ed6\u5e38\u89c1\u914d\u7f6e\n#\u76d1\u542c\u7684\u7aef\u53e3\nport 6379\n#\u5de5\u4f5c\u76ee\u5f55\uff0c\u9ed8\u8ba4\u662f\u5f53\u524d\u76ee\u5f55\uff0c\u4e5f\u5c31\u662f\u8fd0\u884credis-server\u65f6\u7684\u547d\u4ee4\uff0c\u65e5\u5fd7\u3001\u6301\u4e45\u5316\u7b49\u6587\u4ef6\u4f1a\u4fdd\u5b58\u5728\u8fd9\u4e2a\u76ee\u5f55\ndir.\n#\u6570\u636e\u5e93\u6570\u91cf\uff0c\u8bbe\u4e94\u4e3a1\uff0c\u4ee3\u8868\u53ea\u4f7f\u75281\u4e2a\u5e93\uff0c\u9ed8\u8ba4\u670916\u4e2a\u5e93\uff0c\u7f16\u53f70-15\ndatabase1\n#\u8bbe\u7f6eredis\u80fd\u591f\u4f7f\u7528\u7684\u6700\u5927\u5185\u5b58\nmaxmemory 512mb\n#\u65e5\u5fd7\u6587\u4ef6\uff0c\u9ed8\u8ba4\u4e3a\u7a7a\uff0c\u4e0d\u8bb0\u5f55\u65e5\u5fd7\uff0c\u53ef\u4ee5\u6307\u5b9a\u65e5\u5fd7\u6587\u4ef6\u540d\nlogfile \"redis.log\"\n<\/code><\/pre>\n\n\n\n<p>\u67e5\u627e\u547d\u4ee4\u4e3a \/ \u67e5\u627e\u5185\u5bb9<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u901a\u8fc7redis-server redis.conf\u5373\u53ef\u540e\u53f0\u8fd0\u884c\n&#91;root@centos1 redis-6.2.6]# redis-server redis.conf\n&#91;root@centos1 redis-6.2.6]# ps -ef | grep redis\nroot      11482      1  0 15:25 ?        00:00:00 redis-server 0.0.0.0:6379 .\nroot      11496   2831  0 15:26 pts\/0    00:00:00 grep --color=auto redis\n\nkill -9 11482\n#-9\u662fkill\u7684\u53c2\u6570\uff0c1\u91cd\u65b0\u52a0\u8f7d\uff0c9\u6740\u6b7b\u7a0b\u5e8f\uff0c15\u505c\u6b62\uff0c11482\u662f\u521a\u624d\u7b2c\u4e00\u884c\u7684\u8fdb\u7a0b\u540d<\/code><\/pre>\n\n\n\n<p>\u5f53\u7136\u6709\u5f00\u673a\u81ea\u542f\u52a8\u7684\u65b9\u6cd5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u65b0\u5efa\u6587\u4ef6\nvi \/etc\/systemd\/system\/redis.service\n\u590d\u5236\u4ee5\u4e0b\u6587\u5b57\u5230vim\u4e2d\n&#91;Unit]\nDescription=redis-server\nAfter=network.target\n\n&#91;Service]\nType=forking\nExecStart=\/usr\/local\/bin\/redis-server \/usr\/local\/src\/redis-6.2.6\/redis.conf\nPrivateTmp=true\n\n&#91;Install]\nWantedBy=multi-user.target<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl daemon-reload\nsystemctl start redis\nsystemctl status redis\n\n\nsystemctl stop redis\nsystemctl status redis\n\n#\u5f00\u673a\u81ea\u542f\nsystemctl enable redis<\/code><\/pre>\n\n\n\n<p>\u603b\u7ed3\u4e0b\uff0c\u5c31\u662f\u8fd9\u6837<\/p>\n\n\n\n<p>#\u542f\u52a8<br>systemctl start redis<br>#\u505c\u6b62<br>systemctl stop redis<br>#\u91cd\u542f<br>systemctl restart redis<br>#\u67e5\u770b\u72b6\u6001<br>systemctl status redis<\/p>\n\n\n\n<p>\u5b89\u88c5\u5b8c\u6210Redis\uff0c\u6211\u4eec\u5c31\u53ef\u4ee5\u64cd\u4f5cRedis\uff0c\u5b9e\u73b0\u6570\u636e\u7684CRUD\u4e86\u3002\u8fd9\u9700\u8981\u7528\u5230Redis\u5ba2\u6237\u7aef\uff0c\u5305\u62ec\uff1a<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u547d\u4ee4\u884c\u5ba2\u6237\u7aef<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>#Redis\u5b89\u88c5\u5b8c\u6210\u540e\u5c31\u81ea\u5e26\u4e86\u547d\u4ee4\u884c\u5ba2\u6237\u7aef\uff1aredis-cli\uff0c\u4f7f\u7528\u65b9\u5f0f\u5982\u4e0b\uff1a\nredis-cli &#91;options] &#91;commonds]\n\u5176\u4e2d\u5e38\u89c1\u7684options\u6709\uff1a\n-h 127.0.0.1 \uff1a\u6307\u5b9a\u8981\u8fde\u63a5\u7684redis\u8282\u70b9\u7684IP\u5730\u5740\uff0c\u9ed8\u8ba4\u662f127.0.0.1\n-p 6379\uff1a\u6307\u5b9a\u8981\u8fde\u63a5\u7684redis\u8282\u70b9\u7684\u7aef\u53e3\uff0c\u9ed8\u8ba4\u662f6379\n-a 123321\uff1a\u6307\u5b9aredis\u7684\u8bbf\u95ee\u5bc6\u7801\n\n#\u5176\u4e2d\u7684commonds\u5c31\u662fRedis\u7684\u64cd\u4f5c\u547d\u4ee4\uff0c\u4f8b\u5982\uff1a\nping\uff1a\u4e0eredis\u670d\u52a1\u7aef\u505a\u5fc3\u8df3\u6d4b\u8bd5\uff0c\u670d\u52a1\u7aef\u6b63\u5e38\u4f1a\u8fd4\u56depong\n\u4e0d\u6307\u5b9acommond\u65f6\uff0c\u4f1a\u8fdb\u5165redis-cli\u7684\u4ea4\u4e92\u63a7\u5236\u53f0\uff1a<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u56fe\u5f62\u5316\u684c\u9762\u5ba2\u6237\u7aef<\/h3>\n\n\n\n<p><a href=\"https:\/\/github.com\/lework\/RedisDesktopManager-Windows\/releases\" target=\"_blank\"  rel=\"nofollow\" >Releases \u00b7 lework\/RedisDesktopManager-Windows \u00b7 GitHub<\/a>\u8fd9\u4f4d\u5927\u795e\u63d0\u4f9b\u4e86\u514d\u8d39\u7f16\u8bd1\u7684windows\u7248\u672c\uff0c\u4e0b\u8f7d\u4ed6\u7684zip\u6587\u4ef6\uff08\u4e0d\u662f\u90a3\u4e2asrc\u7684\uff09<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"249\" width=\"226\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/365bec693f294b3393dff1d341910db8.png\" alt=\"\"><img loading=\"lazy\" decoding=\"async\" height=\"15\" width=\"15\" src=\"blob:https:\/\/eve2333.top\/c0abaea5-91d9-43fa-9657-a7f4db7515f1\">\u200b\u7f16\u8f91<img loading=\"lazy\" decoding=\"async\" height=\"239\" width=\"456\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/59a7896cf84e4eafb5cd308498db7ef9.png\" alt=\"\"><\/p>\n\n\n\n<p>\u6c38\u8fdc\u768416\u4e2a\u5e93\uff0c\u8fd9\u65f6\u6211\u4eec\u56de\u5230cli\uff0c\u5982\u4e0b\u5373\u53ef\u67e5\u627e\u5230\u521a\u624d\u7684<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>192.168.169.133:6379&gt; SELECT 1\nOK\n192.168.169.133:6379&#91;1]&gt; get name\n\"Rose\"\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u7f16\u7a0b\u5ba2\u6237\u7aef\u6682\u65f6\u4e0d\u4e88\u4ecb\u7ecd<\/h3>\n\n\n\n<h1 class=\"wp-block-heading\">02&nbsp; Redis\u5e38\u89c1\u547d\u4ee4<\/h1>\n\n\n\n<p>Redis\u662f\u4e00\u4e2akey-value\u7684\u6570\u636e\u5e93\uff0ckey\u4e00\u822c\u662fString\u7c7b\u578b\uff0c\u4e0d\u8fc7value\u7684\u7c7b\u578b\u591a\u79cd\u591a\u6837\uff0cstring<br>Hash \uff0cList\uff0cSet\uff0cSortedset\uff08\u57fa\u672c\u7c7b\u578b\uff09\uff0cGEO\uff0cBitMap\uff0cHyperLog\uff08\u7279\u6b8a\u7c7b\u578b\uff09<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>KEYS *\nKEYS a*    \u4e0d\u5efa\u8bae\u5728\u751f\u4ea7\u73af\u5883\u8bbe\u5907\u4e0a\u4f7f\u7528\n#\u8fd9\u662f\u4e00\u79cd\u57fa\u4e8e\u901a\u914d\u7b26\u641c\u7d22\u7684\uff0c\u8fd9\u79cd\u901a\u914d\u7b26\u67e5\u8be2\u5bf9\u4e8e\u5355\u7ebf\u7a0b\u7684redis\u662f\u6709\u5de8\u5927\u8d1f\u62c5\u7684<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>DEL name\n#\u5373\u53ef\u5220\u9664name\n\nMSET k1 v1 k2 v2 k3 v3\n#\u6279\u91cf\u63d2\u5165\n192.168.169.133:6379&#91;1]&gt; MSET k1 v1 k2 v2 k3 v3\nOK\n192.168.169.133:6379&#91;1]&gt; keys *\n1) \"k3\"\n2) \"k2\"\n3) \"name\"\n4) \"k1\"\n\n#\u5f53\u5220\u9664\u503c\u5927\u4e8e\u672c\u6765\u7684\u503c\u65f6\uff0c\u4f1a\u8fd4\u56de\u5e94\u8be5\u5220\u9664\u7684\u6570\u91cf\nDEL k1 k2 k3 k4\n(integer) 3\n\n################################################\nDEL\uff1a\u5220\u9664\u4e00\u4e2a\u6307\u5b9a\u7684key\nEXISTS\uff1a\u5224\u65adkey\u662f\u5426\u5b58\u5728\nEXPIRE\uff1a\u7ed9\u4e00\u4e2akey\u8bbe\u7f6e\u6709\u6548\u671f\uff0c\u6709\u6548\u671f\u5230\u671f\u65f6\u8be5key\u4f1a\u88ab\u81ea\u52a8\u5220\u9664\nTTL:\u67e5\u770b\u4e00\u4e2aKEY\u7684\u5269\u4f59\u6709\u6548\u671f\n################################################\n\nEXPIRE age 20\n#\u53ef\u4ee5\u8bbe\u5b9a\u4e3a20s\uff0c\u5229\u7528ttl\u67e5\u770b\u7684\u65f6\u5019\uff0c\u5f53\u65f6\u95f4\u4e3a-2\u7684\u65f6\u5019\uff0c\u8868\u660e\u4ed6\u5df2\u7ecf\u5931\u6d3b\n\nset age 18\nTTL age\n#\u90a3\u4e48\u73b0\u5728\u662f\u5426\u5931\u6d3b\u5462\uff1fTTL\u540e\u662f-1<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">String\u7c7b\u578b<\/h3>\n\n\n\n<p>String\u7c7b\u578b\uff0c\u4e5f\u5c31\u662f\u5b57\u7b26\u4e32\u7c7b\u578b\uff0c\u662fRedis\u4e2d\u6700\u7b80\u5355\u7684\u5b58\u50a8\u7c7b\u578b\u3002<br>\u5176value\u662f\u5b57\u7b26\u4e32\uff0c\u4e0d\u8fc7\u6839\u636e\u5b57\u7b26\u4e32\u7684\u683c\u5f0f\u4e0d\u540c\uff0c\u53c8\u53ef\u4ee5\u5206\u4e3a3\u7c7b\uff1a<br>\u25cfstring\uff1a\u666e\u901a\u5b57\u7b26\u4e32<br>\u25cfint\uff1a\u6574\u6570\u7c7b\u578b\uff0c\u53ef\u4ee5\u505a\u81ea\u589e\u3001\u81ea\u51cf\u64cd\u4f5c<br>\u25cffloat\uff1a\u6d6e\u70b9\u7c7b\u578b\uff0c\u53ef\u4ee5\u505a\u81ea\u589e\u3001\u81ea\u51cf\u64cd\u4f5c<br>\u4e0d\u7ba1\u662f\u54ea\u79cd\u683c\u5f0f\uff0c\u5e95\u5c42\u90fd\u662f\u5b57\u8282\u6570\u7ec4\u5f62\u5f0f\u5b58\u50a8\uff0c\u53ea\u4e0d\u8fc7\u662f\u7f16\u7801\u65b9\u5f0f\u4e0d\u540c\u3002\u5b57\u7b26\u4e32\u7c7b\u578b\u7684\u6700\u5927\u7a7a\u95f4\u4e0d\u80fd\u8d85\u8fc7512m.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>String\u7684\u5e38\u89c1\u547d\u4ee4\u6709\uff1a\n\nSET\uff1a\u6dfb\u52a0\u6216\u8005\u4fee\u6539\u5df2\u7ecf\u5b58\u5728\u7684\u4e00\u4e2aString\u7c7b\u578b\u7684\u952e\u503c\u5bf9\nGET\uff1a\u6839\u636ekey\u83b7\u53d6String\u7c7b\u578b\u7684value\nMSET\uff1a\u6279\u91cf\u6dfb\u52a0\u591a\u4e2aString\u7c7b\u578b\u7684\u952e\u503c\u5bf9\nMGET\uff1a\u6839\u636e\u591a\u4e2akey\u83b7\u53d6\u591a\u4e2aString\u7c7b\u578b\u7684value\nINCR\uff1a\u8ba9\u4e00\u4e2a\u6574\u578b\u7684key\u81ea\u589e1\nINCRBY\uff1a\u8ba9\u4e00\u4e2a\u6574\u578b\u7684key\u81ea\u589e\u5e76\u6307\u5b9a\u6b65\u957f\uff0c\u4f8b\u5982\uff1aincrby num 2\u8ba9num\u503c\u81ea\u589e2\nINCRBYFLOAT\uff1a\u8ba9\u4e00\u4e2a\u6d6e\u70b9\u7c7b\u578b\u7684\u6570\u5b57\u81ea\u589e\u5e76\u6307\u5b9a\u6b65\u957f\nSETNX\uff1a\u6dfb\u52a0\u4e00\u4e2aString\u7c7b\u578b\u7684\u952e\u503c\u5bf9\uff0c\u524d\u63d0\u662f\u8fd9\u4e2akey\u4e0d\u5b58\u5728\uff0c\u5426\u5219\u4e0d\u6267\u884c\nSETEX\uff1a\u6dfb\u52a0\u4e00\u4e2aString\u7c7b\u578b\u7684\u952e\u503c\u5bf9\uff0c\u5e76\u4e14\u6307\u5b9a\u6709\u6548\u671f\n\nSETNX \u548c SETEX \u5b9e\u8d28\u4e0a\u5728 Redis 2.6.12 \u4ee5\u53ca\u4e4b\u540e\u7684\u7248\u672c\u5df2\u7ecf\u8fc7\u65f6\uff0c\u63a8\u8350\u4f7f\u7528 SET \u547d\u4ee4\u6765\u5b8c\u6210\u4e86\nset name wangwu nx<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">key\u7684\u7ed3\u6784<\/h3>\n\n\n\n<p>Redis\u7684key\u5141\u8bb8\u6709\u591a\u4e2a\u5355\u8bcd\u5f62\u6210\u5c42\u7ea7\u7ed3\u6784\uff0c\u591a\u4e2a\u5355\u8bcd\u4e4b\u95f4\u7528&nbsp; &nbsp;\uff1a\u9694\u5f00\uff0c\u683c\u5f0f\u5982\u4e0b\uff1a<br><strong>\u9879\u76ee\u540d\uff1a\u4e1a\u52a1\u540d\uff1a\u7c7b\u578b\uff1aid<\/strong><br>\u8fd9\u4e2a\u683c\u5f0f\u5e76\u975e\u56fa\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u6765\u5220\u9664\u6216\u6dfb\u52a0\u8bcd\u6761\u3002<br>\u4f8b\u5982\u6211\u4eec\u7684\u9879\u76ee\u540d\u79f0\u53ebheima\uff0c\u6709user\u548cproduct\u4e24\u79cd\u4e0d\u540c\u7c7b\u578b\u7684\u6570\u636e\uff0c\u6211\u4eec\u53ef\u4ee5\u8fd9\u6837\u5b9a\u4e49key\uff1a<br>user\u76f8\u5173\u7684&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;key:heima:user:1<br>product\u76f8\u5173\u7684&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; key:heima:product:1<\/p>\n\n\n\n<p><strong>[\u9879\u76ee\u540d]:[\u4e1a\u52a1\u540d]:[\u7c7b\u578b]:[id]<\/strong><\/p>\n\n\n\n<p>\u5982\u679cValue\u662f\u4e00\u4e2aJava\u5bf9\u8c61\uff0c\u4f8b\u5982\u4e00\u4e2aUser\u5bf9\u8c61\uff0c\u5219\u53ef\u4ee5\u5c06\u5bf9\u8c61\u5e8f\u5217\u5316\u4e3aJSON\u5b57\u7b26\u4e32\u540e\u5b58\u50a8\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>KEY<\/td><td>VALUE<\/td><\/tr><tr><td>heima:user:1<\/td><td>{\"id\":1,\"name\":\"Jack\"\uff0c\"age\":21}<\/td><\/tr><tr><td>heima:product:1<\/td><td>{\"id\":1,\"name\":\u201c\u5c0f\u7c7311\",\"price\":4999}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u5206\u56db\u6b21\u6ce8\u5165\u6570\u636e\nset heima:user:1 '{\"id\":1, \"name\":\"Jack\", \"age\": 21}'\nset heima:user:2 '{\"id\":2, \"name\":\"Rose\", \"age\": 18}'\nset heima:product:1 '{\"id\":1, \"name:\"\u5c0f\u7c7311\", \"price\":4999}'\nset heima:product:2 '{\"id\":2, \"name\":\"\u8363\u80006\", \"price\":2999}'<\/code><\/pre>\n\n\n\n<p>\u56de\u5230\u5ba2\u6237\u7aef\u4e2d,\u9ed1\u9a6c\u7684key\u81ea\u7136\u7684\u5f62\u6210\u4e86\u5c42\u7ea7\u7ed3\u6784<img loading=\"lazy\" decoding=\"async\" height=\"252\" width=\"673\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/afc5ebaff97b434fb26e8aae334d23c0.png\" alt=\"\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">hash\u7c7b\u578b<\/h3>\n\n\n\n<p>Hash\u7c7b\u578b\uff0c\u4e5f\u53eb\u6563\u5217\uff0c\u5176value\u662f\u4e00\u4e2a\u65e0\u5e8f\u5b57\u5178\uff0c\u7c7b\u4f3c\u4e8eJava\u4e2d\u7684HashMap\u7ed3\u6784\u3002<br>String\u7ed3\u6784\u662f\u5c06\u5bf9\u8c61\u5e8f\u5217\u5316\u4e3aJSON\u5b57\u7b26\u4e32\u540e\u5b58\u50a8\uff0c\u5f53\u9700\u8981\u4fee\u6539\u5bf9\u8c61\u67d0\u4e2a\u5b57\u6bb5\u65f6\u5f88\u4e0d\u65b9\u4fbf\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>KEY<\/td><td>VALUE<\/td><\/tr><tr><td>heima:user:1<\/td><td>{name:\"Jack\",age:21}<\/td><\/tr><tr><td>heima:user:2<\/td><td>{name:\"Rose\",age:18}&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Hash\u7ed3\u6784\u53ef\u4ee5\u5c06\u5bf9\u8c61\u4e2d\u7684\u6bcf\u4e2a\u5b57\u6bb5\u72ec\u7acb\u5b58\u50a8\uff0c\u53ef\u4ee5\u9488\u5bf9\u5355\u4e2a\u5b57\u6bb5\u505aCRUD\uff1a<img loading=\"lazy\" decoding=\"async\" height=\"285\" width=\"667\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/78ac366de7ec4e769d2518259fb1bfee.png\" alt=\"\"><\/p>\n\n\n\n<p>\u6211\u4eec\u53ef\u4ee5\u5bf9\u7167\u7740string\u7684\u547d\u4ee4\u8fdb\u884c\u5b66\u4e60\uff0c\u6bd4\u5982Hash\u7c7b\u578b\u7684\u5e38\u89c1\u547d\u4ee4\uff0c\u5373\u6240\u6709\u547d\u4ee4\u52a0\u4e2ah<\/p>\n\n\n\n<p>Hash\u7684\u5e38\u89c1\u547d\u4ee4\u6709\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>HSETkeyfieldvalue\uff1a\u6dfb\u52a0\u6216\u8005\u4fee\u6539hash\u7c7b\u578bkey\u7684field\u7684\u503c<\/li>\n\n\n\n<li>HGETkeyfield\uff1a\u83b7\u53d6\u4e00\u4e2ahash\u7c7b\u578bkey\u7684field\u7684\u503c<\/li>\n\n\n\n<li>HMSET\uff1a\u6279\u91cf\u6dfb\u52a0\u591a\u4e2ahash\u7c7b\u578bkey\u7684field\u7684\u503c<\/li>\n\n\n\n<li>HMGET\uff1a\u6279\u91cf\u83b7\u53d6\u591a\u4e2ahash\u7c7b\u578bkey\u7684field\u7684\u503c<\/li>\n\n\n\n<li>HGETALL\uff1a\u83b7\u53d6\u4e00\u4e2ahash\u7c7b\u578b\u7684key\u4e2d\u7684\u6240\u6709\u7684field\u548cvalue<\/li>\n\n\n\n<li>HKEYS\uff1a\u83b7\u53d6\u4e00\u4e2ahash\u7c7b\u578b\u7684key\u4e2d\u7684\u6240\u6709\u7684field<\/li>\n\n\n\n<li>HVALS\uff1a\u83b7\u53d6\u4e00\u4e2ahash\u7c7b\u578b\u7684key\u4e2d\u7684\u6240\u6709\u7684value<\/li>\n\n\n\n<li>HINCRBY\uff1a\u8ba9\u4e00\u4e2ahash\u7c7b\u578bkey\u7684\u5b57\u6bb5\u503c\u81ea\u589e\u5e76\u6307\u5b9a\u6b65\u957f<\/li>\n\n\n\n<li>HSETNX\uff1a\u6dfb\u52a0\u4e00\u4e2ahash\u7c7b\u578b\u7684key\u7684field\u503c\uff0c\u524d\u63d0\u662f\u8fd9\u4e2afield\u4e0d\u5b58\u5728\uff0c\u5426\u5219\u4e0d\u6267\u884c<\/li>\n<\/ul>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"267\" width=\"683\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/bbd78851c48f4c6786d9d94fab5e3685.png\" alt=\"\"><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>127.0.0.1:6379&gt; HSET heima:user:3 name Lucy\n(integer) 1\n127.0.0.1:6379&gt; HSET heima:user:3 age 21\n(integer) 1\n127.0.0.1:6379&gt; HSET heima:user:3 age 17\n(integer) 0\n127.0.0.1:6379&gt; HGET heima:user:3 name\n\"Lucy\"\n127.0.0.1:6379&gt; HGET heima:user:3 age\n\"17\"\n127.0.0.1:6379&gt; HMSET heima:user:4 name HanMeiMei\nOK\n127.0.0.1:6379&gt; HMSET heima:user:4 name LiLei age 20 sex man\nOK\n127.0.0.1:6379&gt; HMGET heima:user:4 name age sex\n1\uff09\"LiLei\"\n2\uff09\"20\"\n3)\"man\"<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">list\u7c7b\u578b<\/h3>\n\n\n\n<p>Redis\u4e2d\u7684List\u7c7b\u578b\u4e0eJava\u4e2d\u7684LinkedList\u7c7b\u4f3c\uff0c\u53ef\u4ee5\u770b\u505a\u662f\u4e00\u4e2a\u53cc\u5411\u94fe\u8868\u7ed3\u6784\u3002\u65e2\u53ef\u4ee5\u652f\u6301\u6b63\u5411\u68c0\u7d22\u548c\u4e5f\u53ef\u4ee5\u652f\u6301\u53cd\u5411\u68c0\u7d22\u3002<\/p>\n\n\n\n<p>\u7279\u5f81\u4e5f\u4e0eLinkedList\u7c7b\u4f3c\uff1a<br>\u25cf\u6709\u5e8f<br>\u25cf\u5143\u7d20\u53ef\u4ee5\u91cd\u590d<br>\u25cf\u63d2\u5165\u548c\u5220\u9664\u5feb<br>\u25cf\u67e5\u8be2\u901f\u5ea6\u4e00\u822c<br>\u5e38\u7528\u6765\u5b58\u50a8\u4e00\u4e2a\u6709\u5e8f\u6570\u636e\uff0c\u4f8b\u5982\uff1a\u670b\u53cb\u5708\u70b9\u8d5e\u5217\u8868\uff0c\u8bc4\u8bba\u5217\u8868\u7b49\u3002<\/p>\n\n\n\n<p>List\u7684\u5e38\u89c1\u547d\u4ee4\u6709\uff1a<br>\u25cfLPUSH key element...\uff1a\u5411\u5217\u8868\u5de6\u4fa7\u63d2\u5165\u4e00\u4e2a\u6216\u591a\u4e2a\u5143\u7d20<br>\u25cfLPOP key\uff1a\u79fb\u9664\u5e76\u8fd4\u56de\u5217\u8868\u5de6\u4fa7\u7684\u7b2c\u4e00\u4e2a\u5143\u7d20\uff0c\u6ca1\u6709\u5219\u8fd4\u56denil<br>\u25cfRPUSH key element...\uff1a\u5411\u5217\u8868\u53f3\u4fa7\u63d2\u5165\u4e00\u4e2a\u6216\u591a\u4e2a\u5143\u7d20<br>\u25cfRPOP key\uff1a\u79fb\u9664\u5e76\u8fd4\u56de\u5217\u8868\u53f3\u4fa7\u7684\u7b2c\u4e00\u4e2a\u5143\u7d20<br>\u25cfLRANGE key star end\uff1a\u8fd4\u56de\u4e00\u6bb5\u89d2\u6807\u8303\u56f4\u5185\u7684\u6240\u6709\u5143\u7d20<br>\u25cfBLPOP\u548cBRPOP\uff1a\u4e0eLPOP\u548cRPOP\u7c7b\u4f3c\uff0c\u53ea\u4e0d\u8fc7\u5728\u6ca1\u6709\u5143\u7d20\u65f6\u7b49\u5f85\u6307\u5b9a\u65f6\u95f4\uff0c\u800c\u4e0d\u662f\u76f4\u63a5\u8fd4\u56denil&nbsp;<\/p>\n\n\n\n<p>&nbsp;\u5b9e\u9645\u4e0aredis\u628a\u94fe\u8868\u770b\u6210\u4e00\u4e2a\u961f\u5217\u4e86\uff0c\u73b0\u5728\u6211LPUSH\u4e00\u4e2a\u5143\u7d20\uff0c\u90a3\u4e48\u94fe\u8868A &lt;-&gt; B\u53d8\u6210&nbsp;C &lt;-&gt; A &lt;-&gt; B\u3002\u76f8\u5e94\u7684RPUSH\u5c31\u5230\u4e86\u94fe\u8868\u53f3\u8fb9\u4e86<\/p>\n\n\n\n<p>\u90a3\u4e48\uff0c\u5982\u4f55\u7528list\u7ed3\u6784\u6a21\u62df\u4e00\u4e2a\u963b\u585e\u961f\u5217\u5462\uff1f&nbsp;<br><a href=\"https:\/\/blog.csdn.net\/a1302993809\/article\/details\/135980266\" target=\"_blank\"  rel=\"nofollow\" >\u963b\u585e\u961f\u5217\uff08\u8d85\u8be6\u7ec6\u6613\u61c2\uff09-CSDN\u535a\u5ba2<\/a><a href=\"https:\/\/www.cnblogs.com\/tjudzj\/p\/4454490.html\" target=\"_blank\"  rel=\"nofollow\" >\u200b\u200b\u200b\u200b\u200b\u200bBlockingQueue\uff08\u963b\u585e\u961f\u5217\uff09\u8be6\u89e3 - \u4e00\u6b65\u4e00\u4e2a\u5c0f\u811a\u5370 - \u535a\u5ba2\u56ed<\/a><a href=\"https:\/\/zhuanlan.zhihu.com\/p\/343427069\" target=\"_blank\"  rel=\"nofollow\" >1.1w\u5b57\uff0c10\u56fe\u5f7b\u5e95\u638c\u63e1\u963b\u585e\u961f\u5217\uff08\u5e76\u53d1\u5fc5\u5907\uff09 - \u77e5\u4e4e<\/a><\/p>\n\n\n\n<p>1.\u51fa\u53e3\u5165\u53e3\u5728\u4e0d\u540c\u5904<br>2.\u51fa\u961f\u65f6\u7528BLPOP\u6216BRPOP&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">set\u7c7b\u578b<\/h3>\n\n\n\n<p>Redis\u7684Set\u7ed3\u6784\u4e0eJava\u4e2d\u7684HashSet\u7c7b\u4f3c\uff0c\u53ef\u4ee5\u770b\u505a\u662f\u4e00\u4e2avalue\u4e3anull\u7684HashMap\u3002\u56e0\u4e3a\u4e5f\u662f\u4e00\u4e2ahash\u8868\uff0c\u56e0\u6b64\u5177\u5907\u4e0eHashSet\u7c7b\u4f3c\u7684\u7279\u5f81\uff1a<br>\u25cf\u65e0\u5e8f<br>\u25cf\u5143\u7d20\u4e0d\u53ef\u91cd\u590d<br>\u25cf\u67e5\u627e\u5feb<br>\u25cf\u652f\u6301\u4ea4\u96c6\u3001\u5e76\u96c6\u3001\u5dee\u96c6\u7b49\u529f\u80fd<\/p>\n\n\n\n<p>String\u7684\u5e38\u89c1\u547d\u4ee4\u6709\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SADD key member...\uff1a\u5411set\u4e2d\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u5143\u7d20<\/li>\n\n\n\n<li>SREM key member...\uff1a\u79fb\u9664set\u4e2d\u7684\u6307\u5b9a\u5143\u7d20<\/li>\n\n\n\n<li>SCARD key\uff1a\u8fd4\u56deset\u4e2d\u5143\u7d20\u7684\u4e2a\u6570<\/li>\n\n\n\n<li>SISMEMBER key member\uff1a\u5224\u65ad\u4e00\u4e2a\u5143\u7d20\u662f\u5426\u5b58\u5728\u4e8eset\u4e2d<\/li>\n\n\n\n<li>SMEMBERS\uff1a\u83b7\u53d6set\u7684\u6240\u6709\u5143\u7d20<\/li>\n<\/ul>\n\n\n\n<p>\u4e0a\u9762\u8fd9\u4e9b\u547d\u4ee4\u90fd\u662f\u5bf9\u5143\u7d20\u7684\u5355\u4e00\u589e\u5220\u6539\u67e5\u64cd\u4f5c\uff0c\u90a3\u4e48\u5f53\u7136\u5c31\u6709\u591a\u4e2a\u7684\u6279\u91cf\u64cd\u4f5c<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SINTER key1 key2...\uff1a\u6c42key1\u4e0ekey2\u7684\u4ea4\u96c6<\/li>\n\n\n\n<li>SDIFF key1 key2...\uff1a\u6c42key1\u4e0ekey2\u7684\u5dee\u96c6<\/li>\n\n\n\n<li>SUNlON key1 key2..\uff1a\u6c42key1\u548ckey2\u7684\u5e76\u96c6\u00a0<\/li>\n<\/ul>\n\n\n\n<p><strong>Set\u547d\u4ee4\u7684\u7ec3\u4e60<\/strong><\/p>\n\n\n\n<p>\u5c06\u4e0b\u5217\u6570\u636e\u7528Redis\u7684Set\u96c6\u5408\u6765\u5b58\u50a8\uff1a<br>\u5f20\u4e09\u7684\u597d\u53cb\u6709\uff1a\u674e\u56db\u3001\u738b\u4e94\u3001\u8d75\u516d<br>\u674e\u56db\u7684\u597d\u53cb\u6709\uff1a\u738b\u4e94\u3001\u9ebb\u5b50\u3001\u4e8c\u72d7<br>\u5229\u7528Set\u7684\u547d\u4ee4\u5b9e\u73b0\u4e0b\u5217\u529f\u80fd\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u8ba1\u7b97\u5f20\u4e09\u7684\u597d\u53cb\u6709\u51e0\u4eba<\/li>\n\n\n\n<li>\u8ba1\u7b97\u5f20\u4e09\u548c\u674e\u56db\u6709\u54ea\u4e9b\u5171\u540c\u597d\u53cb<\/li>\n\n\n\n<li>\u67e5\u8be2\u54ea\u4e9b\u4eba\u662f\u5f20\u4e09\u7684\u597d\u53cb\u5374\u4e0d\u662f\u674e\u56db\u7684\u597d\u53cb<\/li>\n\n\n\n<li>\u67e5\u8be2\u5f20\u4e09\u548c\u674e\u56db\u7684\u597d\u53cb\u603b\u5171\u6709\u54ea\u4e9b\u4eba<\/li>\n\n\n\n<li>\u5224\u65ad\u674e\u56db\u662f\u5426\u662f\u5f20\u4e09\u7684\u597d\u53cb<\/li>\n\n\n\n<li>\u5224\u65ad\u5f20\u4e09\u662f\u5426\u662f\u674e\u56db\u7684\u597d\u53cb<\/li>\n\n\n\n<li>\u5c06\u674e\u56db\u4ece\u5f20\u4e09\u7684\u597d\u53cb\u5217\u8868\u4e2d\u79fb\u9664\u00a0<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>127.0.0.1:6379&gt; SADD zs lisi wangwu zhaoliu\n(integer) 3\n127.0.0.1:6379&gt; SADD ls wangwu mazi ergou\n(integer) 3\n127.0.0.1:6379&gt; SCARD ZS\n(integer) 3\n127.0.0.1:6379&gt; SINTER ZS lS\n1) \"wangwu\"\n127.0.0.1:6379&gt; SDIFF ZS ls\n1\uff09\"is\"\n2\uff09\"zhaoliu\"\n127.0.0.1:6379&gt; SUNION ZS lS\n1)\"isi\"\n2)\"wangwu\"\n3)\"zhaoliu\"\n4)\"mazi\"\n5) \"ergou\"\n127.0.0.1:6379&gt; SISMEMBER ZS lisi\n(integer) 1\n127.0.0.1:6379&gt; SISMEMBER ls zhangSan\n(integer)\n127.0.0.1:6379&gt; SREM ZS lisi\n(integer) 1<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Sortedset\u7c7b\u578b<\/h3>\n\n\n\n<p>Redis\u7684SortedSet\u662f\u4e00\u4e2a\u53ef\u6392\u5e8f\u7684set\u96c6\u5408\uff0c\u4e0eJava\u4e2d\u7684TreeSet\u6709\u4e9b\u7c7b\u4f3c\uff0c\u4f46\u5e95\u5c42\u6570\u636e\u7ed3\u6784\u5374\u5dee\u522b\u5f88\u5927\u3002SortedSet\u4e2d\u7684\u6bcf\u4e00\u4e2a\u5143\u7d20\u90fd\u5e26\u6709\u4e00\u4e2ascore\u5c5e\u6027\uff0c\u53ef\u4ee5\u57fa\u4e8escore\u5c5e\u6027\u5bf9\u5143\u7d20\u6392\u5e8f\uff0c\u5e95\u5c42\u7684\u5b9e\u73b0\u662f\u4e00\u4e2a\u8df3\u8868\uff08SkipList\uff09\u52a0hash\u8868\u3002<br>SortedSet\u5177\u5907\u4e0b\u5217\u7279\u6027\uff1a<br>\u25cf\u53ef\u6392\u5e8f<br>\u25cf\u5143\u7d20\u4e0d\u91cd\u590d<br>\u25cf\u67e5\u8be2\u901f\u5ea6\u5feb<br>\u56e0\u4e3aSortedSet\u7684\u53ef\u6392\u5e8f\u7279\u6027\uff0c\u7ecf\u5e38\u88ab\u7528\u6765\u5b9e\u73b0\u6392\u884c\u699c\u8fd9\u6837\u7684\u529f\u80fd\u3002<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Treeset\u5e95\u90e8\u662f\u7ea2\u9ed1\u6811\u5b9e\u73b0\u7684,\u4e14\u9700\u8981\u4f60\u5b9a\u4e49\u6392\u5e8f\u5e8f\u5217,\u6dfb\u52a0\u5143\u7d20\u5c11\u7684\u65f6\u5019\u7528\u7684\u662f\u538b\u7f29\u8868ziplist ,\u6570\u636e\u91cf\u591a\u4e86\u7684\u65f6\u5019\u5c31\u662f\u8df3\u8868skiplist&nbsp;<\/p>\n<\/blockquote>\n\n\n\n<p>SortedSet\u7684\u5e38\u89c1\u547d\u4ee4\u6709\uff1a<br>\u25cfZADD key scoremember\uff1a\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u5143\u7d20\u5230sortedset\uff0c\u5982\u679c\u5df2\u7ecf\u5b58\u5728\u5219\u66f4\u65b0\u5176score\u503c<br>\u25cfZREM key member\uff1a\u5220\u9664sorted set\u4e2d\u7684\u4e00\u4e2a\u6307\u5b9a\u5143\u7d20<br>\u25cfZScoRE key member\uff1a\u83b7\u53d6sortedset\u4e2d\u7684\u6307\u5b9a\u5143\u7d20\u7684score\u503c<br>\u25cfZRANK key member\uff1a\u83b7\u53d6sortedset\u4e2d\u7684\u6307\u5b9a\u5143\u7d20\u7684\u6392\u540d<br>\u25cfZCARD key\uff1a\u83b7\u53d6sortedset\u4e2d\u7684\u5143\u7d20\u4e2a\u6570<br>\u25cfZCOUNT key minmax\uff1a\u7edf\u8ba1score\u503c\u5728\u7ed9\u5b9a\u8303\u56f4\u5185\u7684\u6240\u6709\u5143\u7d20\u7684\u4e2a\u6570<br>\u25cfZINcRBY key increment member\uff1a\u8ba9sorted set\u4e2d\u7684\u6307\u5b9a\u5143\u7d20\u81ea\u589e\uff0c\u6b65\u957f\u4e3a\u6307\u5b9a\u7684increment\u503c<br>\u25cfZRANGE key minmax\uff1a\u6309\u7167score\u6392\u5e8f\u540e\uff0c\u83b7\u53d6\u6307\u5b9a\u6392\u540d\u8303\u56f4\u5185\u7684\u5143\u7d20<br>\u25cfZRANGEBYSCORE key minmax\uff1a\u6309\u7167score\u6392\u5e8f\u540e\uff0c\u83b7\u53d6\u6307\u5b9ascore\u8303\u56f4\u5185\u7684\u5143\u7d20<br>\u25cfZDIFF\u3001ZINTER\u3001ZUNION\uff1a\u6c42\u5dee\u96c6\u3001\u4ea4\u96c6\u3001\u5e76\u96c6&nbsp;<\/p>\n\n\n\n<p>\u5176\u5b9e\u547d\u4ee4\u8fdc\u4e0d\u4e8e\u6b64 ,\u4f60\u53ef\u4ee5\u901a\u8fc7help \u5728redis\u4e2d\u67e5\u770b\u66f4\u591a\u7684\u547d\u4ee4<\/p>\n\n\n\n<p><strong>SortedSet\u547d\u4ee4\u7ec3\u4e60<\/strong><\/p>\n\n\n\n<p>\u5c06\u73ed\u7ea7\u7684\u4e0b\u5217\u5b66\u751f\u5f97\u5206\u5b58\u5165Redis\u7684SortedSet\u4e2d\uff1a<br>Jack85,Lucy89,Rose82,Tom95,Jerry78,Amy92,Miles76<br>\u5e76\u5b9e\u73b0\u4e0b\u5217\u529f\u80fd\uff1a<br>\u5220\u9664Tom\u540c\u5b66<br>\u83b7\u53d6Amy\u540c\u5b66\u7684\u5206\u6570<br>\u83b7\u53d6Rose\u540c\u5b66\u7684\u6392\u540d<br>\u67e5\u8be280\u5206\u4ee5\u4e0b\u6709\u51e0\u4e2a\u5b66\u751f<br>\u7ed9Amy\u540c\u5b66\u52a02\u5206<br>\u67e5\u51fa\u6210\u7ee9\u524d3\u540d\u7684\u540c\u5b66<br>\u67e5\u51fa\u6210\u7ee980\u5206\u4ee5\u4e0b\u7684\u6240\u6709\u540c\u5b66&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>127.0.0.1:6379&gt; ZADD stus 85 Jack 89 Lucy 82 Rose 95 Tom 78 Jerry 92 Amy 76 Miles\n(integer)7\n127.0.0.1:6379&gt; ZREM stus Tom\n(integer) 1\n127.0.0.1:6379&gt; ZRANK stus RoSe\n(integer) 2\n127.0.0.1:6379&gt; ZREVRANK stus RoSe\n(integer) 3\n127.0.0.1:6379&gt; ZCARD stus\n(integer) 6\n127.0.0.1:6379&gt; ZCOUNT stus 0 80\n(integer) 2\n127.0.0.1:6379&gt; ZINCRBY stus 2 Amy\n\"94\"\n127.0.0.1:6379&gt; ZRANGE stus 0 2\n1) \"Miles\"\n2) \"Jerry\"\n3) \"Rose\"\n127.0.0.1:6379&gt; ZREVRANGE stus 02\n1) \"Amy\"\n2) \"Lucy\"\n3\uff09\"Jack\"\n127.0.0.1:6379&gt; ZRANGEBYSC0RE stus 0 80\n1) \"Miles\"\n2) \"Jerry\"<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">03 Redis\u7684Java\u5ba2\u6237\u7aef<\/h1>\n\n\n\n<p>Netty\u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u7f51\u7edc\u6846\u67b6<a href=\"https:\/\/www.cnblogs.com\/nanaheidebk\/p\/11025362.html\" target=\"_blank\"  rel=\"nofollow\" >Netty\u5b9e\u6218\u5165\u95e8\u8be6\u89e3\u2014\u2014\u8ba9\u4f60\u5f7b\u5e95\u8bb0\u4f4f\u4ec0\u4e48\u662fNetty\uff08\u770b\u4e0d\u61c2\u4f60\u6765\u627e\u6211\uff09 - AI_\u7231\u7801\u5c0f\u58eb - \u535a\u5ba2\u56ed<\/a><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"387\" width=\"679\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/d534da2e817744269aadafb5fd3b747d.png\" alt=\"\"><\/p>\n\n\n\n<p>&nbsp;spring\u5b98\u65b9\u9ed8\u8ba4\u662f\u517c\u5bb9\u7684lettuce\uff0c\u5b9e\u9645\u4e0a\u8fd9\u4e5f\u4f53\u73b0\u4e86spring\u6700\u64c5\u957f\u7684\u67d0\u90e8\u5206\uff0c\u5373\u6574\u5408\u3002\u56e0\u6b64\uff0cspring Data Redis\u505a\u4e86\u8fdb\u4e00\u6b65\u6574\u5408\uff0c\u5373Jedis\u548clettuce<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Jedis<\/h3>\n\n\n\n<p>Jedis\u7684\u5b98\u7f51\u5730\u5740\uff1ahttps:\/\/github.com\/redis\/jedis\uff0c\u6211\u4eec\u5148\u6765\u4e2a\u5feb\u901f\u5165\u95e8\uff1a<\/p>\n\n\n\n<p>1. \u5f15\u5165\u4f9d\u8d56\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;dependency&gt;\n&nbsp; &nbsp; &lt;groupId&gt;redis.clients&lt;\/groupId&gt;\n&nbsp; &nbsp; &lt;artifactId&gt;jedis&lt;\/artifactId&gt;\n&nbsp; &nbsp; &lt;version&gt;3.7.0&lt;\/version&gt;\n&lt;\/dependency&gt;<\/code><\/pre>\n\n\n\n<p>2. \u5efa\u7acb\u8fde\u63a5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>private Jedis jedis;\n\n@BeforeEach\nvoid setUp() {\n&nbsp; &nbsp; \/\/ \u5efa\u7acb\u8fde\u63a5\n&nbsp; &nbsp; jedis = new Jedis(\"192.168.150.101\", 6379);\n&nbsp; &nbsp; \/\/ \u8bbe\u7f6e\u5bc6\u7801\n&nbsp; &nbsp; jedis.auth(\"123321\");\n&nbsp; &nbsp; \/\/ \u9009\u62e9\u5e93\n&nbsp; &nbsp; jedis.select(0);\n}<\/code><\/pre>\n\n\n\n<p>\u5148\u6765\u521b\u5efa\u4e00\u4e2amaven\u5de5\u7a0bJedis-demo\uff0cGroupId\u6539\u4e3acom.heima<br>\u7136\u540e\u56db\u6b65\uff1a<\/p>\n\n\n\n<p>1.\u5728pom.xml\u4e2d\u5f15\u5165\u4f9d\u8d56<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;properties&gt;\n    &lt;maven.compiler.source&gt;8&lt;\/maven.compiler.source&gt;\n    &lt;maven.compiler.target&gt;8&lt;\/maven.compiler.target&gt;\n&lt;\/properties&gt;\n\n&lt;dependencies&gt;\n    &lt;!-- jedis --&gt;\n    &lt;dependency&gt;\n        &lt;groupId&gt;redis.clients&lt;\/groupId&gt;\n        &lt;artifactId&gt;jedis&lt;\/artifactId&gt;\n        &lt;version&gt;3.7.0&lt;\/version&gt;\n    &lt;\/dependency&gt;\n    &lt;!-- \u5355\u5143\u6d4b\u8bd5 --&gt;\n    &lt;dependency&gt;\n        &lt;groupId&gt;org.junit.jupiter&lt;\/groupId&gt;\n        &lt;artifactId&gt;junit-jupiter&lt;\/artifactId&gt;\n        &lt;version&gt;5.7.0&lt;\/version&gt;\n        &lt;scope&gt;test&lt;\/scope&gt;\n    &lt;\/dependency&gt;\n&lt;\/dependencies&gt;<\/code><\/pre>\n\n\n\n<p>2.\u5efa\u7acb\u8fde\u63a5\uff0c\u5728src.test.java\u4e2d\u65b0\u5efacom.heima.test\u4e0b\u7684JedisTest<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package com.heima.test;\n\nimport org.junit.jupiter.api.BeforeEach;\nimport redis.clients.jedis.Jedis;\n\npublic class JedisTest {\n    private Jedis jedis;\n\n    @BeforeEach\n    void setUp() {\n        \/\/ 1. \u5efa\u7acb\u8fde\u63a5\n        jedis = new Jedis(\"192.168.150.101\", 6379);\n        \/\/ 2. \u8bbe\u7f6e\u5bc6\u7801\n        jedis.auth(\"123321\");\n        \/\/ 3. \u9009\u62e9\u5e93\n        jedis.select(0);\n    }\n\n    @Test\n    void testString() {\n        \/\/ \u5b58\u5165\u6570\u636e\n        String result = jedis.set(\"name\", \"\u864e\u54e5\");\n        System.out.println(\"result = \" + result);\n        \/\/ \u83b7\u53d6\u6570\u636e\n        String name = jedis.get(\"name\");\n        System.out.println(\"name = \" + name);\n    }\n\n    @AfterEach\n    void tearDown() {\n            if (jedis != null) {\n            jedis.close();\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p>3.\u6d4b\u8bd5\u64cd\u4f5c<\/p>\n\n\n\n<p>4.\u91ca\u653e\u8d44\u6e90\u5728testString\u540e\u6dfb\u52a0\u4e0b\u9762\u4ee3\u7801<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Test\nvoid testHash() {\n    \/\/ \u63d2\u5165hash\u6570\u636e\n    jedis.hset(\"user:1\", \"name\", \"Jack\");\n    jedis.hset(\"user:1\", \"age\", \"21\");\n\n    \/\/ \u83b7\u53d6\n    Map&lt;String, String&gt; map = jedis.hgetAll(\"user:1\");\n    System.out.println(map);\n}<\/code><\/pre>\n\n\n\n<p>key-value\u7ec4\u6210\u4e86\u4e00\u4e2a\u6570\u636e\u5e93,idea\u81ea\u52a8\u4e3a\u6211\u4eec\u5199\u4f5cmap<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Jedis\u8fde\u63a5\u6c60<\/h3>\n\n\n\n<p>Jedis\u672c\u8eab\u662f\u7ebf\u7a0b\u4e0d\u5b89\u5168\u7684\uff0c\u5e76\u4e14\u9891\u7e41\u7684\u521b\u5efa\u548c\u9500\u6bc1\u8fde\u63a5\u4f1a\u6709\u6027\u80fd\u635f\u8017\uff0c\u56e0\u6b64\u6211\u4eec\u63a8\u8350\u5927\u5bb6\u4f7f\u7528Jedis\u8fde\u63a5\u6c60\u4ee3\u66ffJedis\u7684\u76f4\u8fde\u65b9\u5f0f\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class JedisConnectionFactory {\n\u00a0 \u00a0 private static final JedisPool jedisPool;\n\n\u00a0 \u00a0 static {\n\u00a0 \u00a0 \u00a0 \u00a0 JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();\n\u00a0 \u00a0 \u00a0 \u00a0 \/\/ \u6700\u5927\u8fde\u63a5\n\u00a0 \u00a0 \u00a0 \u00a0 jedisPoolConfig.setMaxTotal(8);\n\u00a0 \u00a0 \u00a0 \u00a0 \/\/ \u6700\u5927\u7a7a\u95f2\u8fde\u63a5\n\u00a0 \u00a0 \u00a0 \u00a0 jedisPoolConfig.setMaxIdle(8);\n\u00a0 \u00a0 \u00a0 \u00a0 \/\/ \u6700\u5c0f\u7a7a\u95f2\u8fde\u63a5\n\u00a0 \u00a0 \u00a0 \u00a0 jedisPoolConfig.setMinIdle(0);\n\u00a0 \u00a0 \u00a0 \u00a0 \/\/ \u8bbe\u7f6e\u6700\u957f\u7b49\u5f85\u65f6\u95f4\uff0cms\n\u00a0 \u00a0 \u00a0 \u00a0 jedisPoolConfig.setMaxWaitMillis(200);\n\u00a0 \u00a0 \u00a0 \u00a0 jedisPool = new JedisPool(jedisPoolConfig, \"192.168.150.101\", 6379, 1000, \"123321\");\n\u00a0 \u00a0 }\n\u00a0 \u00a0 \/\/ \u83b7\u53d6Jedis\u5bf9\u8c61\n\u00a0 \u00a0 public static Jedis getJedis(){\n\u00a0 \u00a0 \u00a0 \u00a0 return jedisPool.getResource();\n\u00a0 \u00a0 }\n}<\/code><\/pre>\n\n\n\n<p><a href=\"https:\/\/blog.csdn.net\/qq_33709508\/article\/details\/105781839\" target=\"_blank\"  rel=\"nofollow\" >Jedis\u975e\u7ebf\u7a0b\u5b89\u5168\u6d4b\u8bd5\u4ee5\u53ca\u539f\u56e0\u5206\u6790_jedis\u4e3a\u4ec0\u4e48\u4e0d\u662f\u7ebf\u7a0b\u5b89\u5168\u7684-CSDN\u535a\u5ba2<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/cloud.tencent.com\/developer\/article\/1678172\" target=\"_blank\"  rel=\"nofollow\" >\u4f7f\u7528jedis\u9762\u4e34\u7684\u975e\u7ebf\u7a0b\u5b89\u5168\u95ee\u9898-\u817e\u8baf\u4e91\u5f00\u53d1\u8005\u793e\u533a-\u817e\u8baf\u4e91<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.csdn.net\/wai_58934\/article\/details\/128649058\" target=\"_blank\"  rel=\"nofollow\" >jedis\u662f\u4ec0\u4e48\uff0c\u4e3a\u4ec0\u4e48\u662f\u7ebf\u7a0b\u4e0d\u5b89\u5168\u7684_jedis\u7ebf\u7a0b\u5b89\u5168\u5417-CSDN\u535a\u5ba2<\/a><\/p>\n\n\n\n<p>\u4e0b\u9762\u521b\u5efa\u8fde\u63a5\u6c60\u5b9e\u4f8b<\/p>\n\n\n\n<p>\u521b\u5efajava.com.heima.jedis.util.TedisConnectionFactory<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import redis.clients.jedis.Jedis;\nimport redis.clients.jedis.JedisPool;\nimport redis.clients.jedis.JedisPoolConfig;\n\npublic class JedisConnectionFactory {\n    private static final JedisPool jedisPool;\n\n    static {\n        \/\/ \u914d\u7f6e\u8fde\u63a5\u6c60\n        JedisPoolConfig poolConfig = new JedisPoolConfig();\n        poolConfig.setMaxTotal(8);\n        poolConfig.setMaxIdle(8);\n        poolConfig.setMinIdle(0);\n        poolConfig.setMaxWaitMillis(1000);\n        \/\/ \u521b\u5efa\u8fde\u63a5\u6c60\u5bf9\u8c61\n        jedisPool = new JedisPool(poolConfig,\n            host: \"192.168.150.101\", port: 6379, timeout: 1000, password: \"123321\");\n    }\n\n    public static Jedis getJedis(){\n        return jedisPool.getResource();\n    }\n}<\/code><\/pre>\n\n\n\n<p>&nbsp;\u56de\u5230JedisTest\u91cc\u4fee\u6539<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@BeforeEach\nvoid setUp() {\n    \/\/ 1. \u5efa\u7acb\u8fde\u63a5\n    \/\/ jedis = new Jedis(\"192.168.150.101\", 6379);\n    jedis = JedisConnectionFactory.getJedis();\n    \/\/ 2. \u8bbe\u7f6e\u5bc6\u7801\n    jedis.auth(\"123321\");\n    \/\/ 3. \u9009\u62e9\u5e93\n    jedis.select(0);\n}<\/code><\/pre>\n\n\n\n<p>\u4f60\u770bjedis \u7684\u6e90\u4ee3\u7801\u5c31\u80fd\u610f\u8bc6\u5230<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"438\" width=\"603\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/a098802e90ea48abba7a8ace1d46b92a.png\" alt=\"\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">&nbsp;SpringDataRedis<\/h3>\n\n\n\n<p>SpringData\u662fSpring\u4e2d\u6570\u636e\u64cd\u4f5c\u7684\u6a21\u5757\uff0c\u5305\u542b\u5bf9\u5404\u79cd\u6570\u636e\u5e93\u7684\u96c6\u6210\uff0c\u5176\u4e2d\u5bf9Redis\u7684\u96c6\u6210\u6a21\u5757\u5c31\u53eb\u505aSpringDataRedis\uff0c\u5b98\u7f51\u5730\u5740\uff1ahttps:\/\/spring.io\/projects\/spring-data-redis<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u63d0\u4f9b\u4e86\u5bf9\u4e0d\u540cRedis\u5ba2\u6237\u7aef\u7684\u6574\u5408\uff08Lettuce\u548cJedis\uff09(\u7c7b\u4f3c\u4e8eJBDC\uff0c\u5b9e\u9645\u4e0a\u8fd9\u91cc\u662flist\u548cget\u5c01\u88c5\u5b9e\u73b0\u7684)<\/li>\n\n\n\n<li>\u63d0\u4f9b\u4e86RedisTemplate\u7edf\u4e00APl\u6765\u64cd\u4f5cRedis<\/li>\n\n\n\n<li>\u652f\u6301Redis\u7684\u53d1\u5e03\u8ba2\u9605\u6a21\u578b<\/li>\n\n\n\n<li>\u652f\u6301Redis\u54e8\u5175\u548cRedis\u96c6\u7fa4<\/li>\n\n\n\n<li>\u652f\u6301\u57fa\u4e8eLettuce\u7684\u54cd\u5e94\u5f0f\u7f16\u7a0b<\/li>\n\n\n\n<li>\u652f\u6301\u57fa\u4e8eJDK\u3001JSON\u3001\u5b57\u7b26\u4e32\u3001Spring\u5bf9\u8c61\u7684\u6570\u636e\u5e8f\u5217\u5316\u53ca\u53cd\u5e8f\u5217\u5316<\/li>\n\n\n\n<li>\u652f\u6301\u57fa\u4e8eRedis\u7684JDKCollection\u5b9e\u73b0<\/li>\n<\/ul>\n\n\n\n<p>&nbsp;\u6211\u4eec\u770b\u4e00\u4e0bset\u7684\u7c7b\u578b\uff0ckey\u548cvalue\uff0c\u90fd\u662f\u5b57\u7b26\u4e32\u7c7b\u578b\uff0c\u8981\u4e48\u662f\u5b57\u8282\uff0c\u5982\u679c\u8bf4\u6211\u73b0\u5728\u6709\u4e00\u4e2ajava\u5bf9\u8c61\u9700\u8981\u5b58\uff0c\u90a3\u4e48set\u548chset\u663e\u7136\u4e0d\u884c\uff0c\u5982\u679c\u4f60\u8981\u5b58\u7684\u662f\u4e00\u4e2a\u590d\u6742\u7684java\u5bf9\u8c61\u65f6\uff0c\u4f60\u5c31\u5fc5\u987b\u5f97\u624b\u52a8\u7684\u5bf9\u5b83\u505a\u5e8f\u5217\u5316\uff0c\u5373\u53d8\u6210\u5b57\u7b26\u4e32\u6216\u8005\u53d8\u6210\u5b57\u8282<\/p>\n\n\n\n<p>SpringDataRedis\u4e2d\u63d0\u4f9b\u4e86RedisTemplate\u5de5\u5177\u7c7b\uff0c\u5176\u4e2d\u5c01\u88c5\u4e86\u5404\u79cd\u5bf9Redis\u7684\u64cd\u4f5c\u3002\u5e76\u4e14\u5c06\u4e0d\u540c\u6570\u636e\u7c7b\u578b\u7684\u64cd\u4f5cAPl\u5c01\u88c5\u5230\u4e86\u4e0d\u540c\u7684\u7c7b\u578b\u4e2d\uff1a\u5bf9set\u4e2d\u5f15\u7528redis\u81c3\u80bf\u7684\u7c7b\u51cf\u8f7b\u4e86\u4e00\u5b9a\u7684\u8d1f\u62c5\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>API<\/td><td>\u8fd4\u56de\u503c<\/td><td>\u7c7b\u578b\u8bf4\u660e<\/td><\/tr><tr><td>redisTemplate.opsForValue()<\/td><td>ValueOperations<\/td><td>\u64cd\u4f5cString\u7c7b\u578b\u6570\u636e<\/td><\/tr><tr><td>redisTemplate.opsForHash()<\/td><td>HashOperations<\/td><td>\u64cd\u4f5cHash\u7c7b\u578b\u6570\u636e<\/td><\/tr><tr><td>redisTemplate.opsForList()<\/td><td>ListOperations<\/td><td>\u64cd\u4f5cList\u7c7b\u578b\u6570\u636e<\/td><\/tr><tr><td>redisTemplate.opsForSet()<\/td><td>SetOperations<\/td><td>\u64cd\u4f5cSet\u7c7b\u578b\u6570\u636e<\/td><\/tr><tr><td>redisTemplate.opsForZSet()<\/td><td>ZSetOperations<\/td><td>\u64cd\u4f5cSortedSet\u7c7b\u578b\u6570\u636e<\/td><\/tr><tr><td>redisTemplate<\/td><td><\/td><td>\u901a\u7528\u7684\u547d\u4ee4<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">SpringDataRedis\u5feb\u901f\u5165\u95e8<\/h3>\n\n\n\n<p>SpringBoot\u5df2\u7ecf\u63d0\u4f9b\u4e86\u5bf9SpringDataRedis\u7684\u652f\u6301\uff0c\u4f7f\u7528\u975e\u5e38\u7b80\u5355\uff1a<br>1\uff0e\u5f15\u5165\u4f9d\u8d56<\/p>\n\n\n\n<p>\u540d\u79f0\uff1aredis-demq<br>\u8bed\u8a00\uff1aJava<br>\u7c7b\u578b:Maven<br>\u7ec4\uff1acom.heima<br>\u5de5\u4ef6:redis-demo<br>\u8f6f\u4ef6\u5305\u540d\u79f0\uff1acom.heima<br>JDK: openjdk-23 Oracle OpenJDK 23<br>Java:17<br>\u6253\u5305\uff1aJar<\/p>\n\n\n\n<p>Developer Tool\u9009\u62e9Lombok\uff0cNoSQL\u9009\u62e9Spring data redis<\/p>\n\n\n\n<p>\u00a0<img loading=\"lazy\" decoding=\"async\" height=\"632\" width=\"562\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/fe17d17e5f68466d885522a2d8e6f0a2.png\" alt=\"\"><\/p>\n\n\n\n<p>\u5220\u9664\u6ca1\u7528\u7684\u6587\u4ef6 \u5373\uff1agitignore\uff0cHELP.md\uff0cmvnw\uff0cmvnw.cmd\uff0c.mvn<\/p>\n\n\n\n<p>1.\u5f15\u5165\u4f9d\u8d56<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-starter-data-redis&lt;\/artifactId&gt;\n        &lt;\/dependency&gt;\n        &lt;!--\u8fde\u63a5\u6c60\u4f9d\u8d56--&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.apache.commons&lt;\/groupId&gt;\n            &lt;artifactId&gt;commons-pool2&lt;\/artifactId&gt;\n        &lt;\/dependency&gt;<\/code><\/pre>\n\n\n\n<p>2.\u914d\u7f6eapplication.yaml\u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>spring:\n  data:\n    redis:\n      host: 192.168.150.101\n      port: 6379\n      password: 123321\n      lettuce:\n        pool:\n          max-active:8\n          max-idle:8\n          min-idle:0\n          max-wait:100<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>package com.heima;\n\nimport org.junit.jupiter.api.Test;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.boot.test.context.SpringBootTest;\nimport org.springframework.data.redis.core.RedisTemplate;\n\n@SpringBootTest\nclass RedisDemoApplicationTests {\n\n    @Autowired\n    private RedisTemplate redisTemplate;\n    @Test\n    void testString() {\n         redisTemplate.opsForValue().set(\"name\",\"\u864e\u54e5\");\n        \/\/\u83b7\u53d6string\u6570\u636e\n        Object name=redisTemplate.opsForValue().get(\"name\");\n        System.out.println(\"name =\"+name);\n    }\n\n}<\/code><\/pre>\n\n\n\n<p>\u6211\u4eecset\u4e00\u4e2arose\uff0c\u81ea\u7136get\u5230\u4e00\u4e2arose\uff0c\u7136\u540e\u91cd\u65b0\u8fd0\u884cjava\u7a0b\u5e8f\uff0c\u53d1\u73b0get \u4ecd\u7136\u662frose\u4e0d\u662f\u864e\u54e5\u3002\u8fd9\u5c31\u662f\u5e8f\u5217\u5316\u3002<\/p>\n\n\n\n<p>\u6211\u4eecRedisTemplate\uff0c\u5b83\u7684set\u65b9\u6cd5\u63a5\u6536\u7684\u53c2\u6570\u5e76\u4e0d\u662f\u5b57\u7b26\u4e32\uff0c\u800c\u662fobject\u3002\u8fd9\u5c31\u662fspring data redis\u7684\u4e00\u4e2a\u7279\u6b8a\u529f\u80fd\uff0c\u5b83\u53ef\u4ee5\u63a5\u53d7\u4efb\u4f55\u5f62\u5f0f\u7684\u5bf9\u8c61\uff0c\u5e2e\u6211\u4eec\u628a\u4ed6\u8f6c\u6210redis\u53ef\u4ee5\u5904\u7406\u7684java\u5bf9\u8c61\u4e86\uff0c\u800credistk\u7684\u5e95\u5c42\u9ed8\u8ba4\u5bf9\u8fd9\u4e9b\u5bf9\u8c61\u7684\u5904\u7406\u65b9\u5f0f\u5c31\u662f\u5229\u7528gdp\u7684\u5e8f\u5217\u5316\u5de5\u5177object output stream\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u6b64\u4e8b\u5728RedisTemplate.java\u4e2d\u5df2\u6709\u8bb0\u8f7d\n\u7b2c98\u884c\n\/rawtypes\/private@NullableRedisSerializerkeySerializer = null;\n\/rawtypes\/ private @Nullable RedisSerializer valueSerializer = null;\n\/rawtypes\/ private @Nullable RedisSerializer hashKeySerializer = null;\n\/rawtypes\/ private @Nullable RedisSerializer hashValueSerializer = null;\nprivate RedisSerializer&lt;String&gt; stringSerializer = RedisSerializer.string();\n\n\u7b2c134\u884c\ndefaultSerializer =new JdkSerializationRedisSerializer(\n    classLoader != null ? classLoader\uff1athis.getClass().getClassLoader());\n\n\u5b83\u4f1a\u7ed9\u5b83\u521b\u5efa\u4e00\u4e2a\u9ed8\u8ba4\u7684\u5e8f\u5217\u5316\u5668\u800c\u9ed8\u8ba4\u5e8f\u5217\u5316\u5668\u5c31\u662fjdk\u7684\u5e8f\u5217\u5316\u5668\n\u90a3\u4e48\u5728\u4f60\u6ca1\u6709\u7ed9\u8fd9\u51e0\u4e2a\u503c\u8fdb\u884c\u5b9a\u4e49\u7684\u60c5\u51b5\u4e0b\n\u5b83\u5c31\u4f1a\u8d70\u8fd9\u4e2a\u9ed8\u8ba4\u7684gdp\u5e8f\u5217\u5316\u5668, \u6211\u4eec\u53ef\u4ee5\u56de\u5230\u8fd9\u4e2aset\u65b9\u6cd5<\/code><\/pre>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"282\" width=\"680\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/514bb38db69d42358bc03ca376216d91.png\" alt=\"\"><img loading=\"lazy\" decoding=\"async\" height=\"15\" width=\"15\" src=\"blob:https:\/\/eve2333.top\/00273005-2cf5-49a0-87e0-26ffaea1908c\"><\/p>\n\n\n\n<p>&nbsp;\u90a3\u4e48\u6211\u4eec\u81ea\u7136\u60f3\u5230\u4fee\u6539\u90a3\u4e2a98\u884c.\u9996\u5148gdk\u8fd9\u4e2a\u6211\u4eec\u5c31\u770b\u8fc7\u4e86\u554a\uff0c\u6211\u4eec\u4e0d\u5e0c\u671b\u7528\u5b83\uff0c\u8fd9\u91cc\u8fb9\u8fd8\u6709\u4e24\u4e2a\u662f\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u7684\uff0c\u4e00\u4e2a\u662fStringRedisSerializer\uff1a\u4e13\u95e8\u7528\u6765\u5904\u7406\u5b57\u7b26\u4e32\u3002\u56e0\u4e3a\u6211\u4eec\u77e5\u9053\u5b57\u7b26\u4e32\u8981\u60f3\u8f6c\u5b57\u8282\u5199\u5165redis\uff0c\u5176\u5b9e\u53ea\u9700\u8981\u7b80\u5355\u7684getby\u662f\u4e0d\u662f\u5c31\u884c\u4e86\u3002\u90a3\u4e48\u8001\u5e08\u8ba4\u4e3a\uff0c\u5982\u679c\u4f60\u7684key\u548c\u4f60\u7684\u54c8\u5e0ckey\u90fd\u662f\u5b57\u7b26\u4e32\u7684\u60c5\u51b5\u4e0b\uff0c\u90a3\u4e48\u5c31\u7528\u5b83\u3002\u5f53\u7136\u6211\u4eec\u7684value\u5982\u679c\u6709\u53ef\u80fd\u662f\u5bf9\u8c61\u554a\uff0c\u90a3\u4e48\u5efa\u8bae\u4f60\u4f7f\u7528\u8fd9\u4e2aGenericJackson2JsonRedisSerializer\uff0c\u4e00\u4e2a\u8f6cjson\u5b57\u7b26\u4e32\u7684\u8fd9\u6837\u4e00\u79cd\u5e8f\u5217\u5316\u5de5\u5177<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SpringDataRedis\u7684\u5e8f\u5217\u5316\u65b9\u5f0f<\/h3>\n\n\n\n<p>\u6211\u4eec\u53ef\u4ee5\u81ea\u5b9a\u4e49RedisTemplate\u7684\u5e8f\u5217\u5316\u65b9\u5f0f\uff0c\u5728java.com.heima.redis.config\u65b0\u5efaRedisConfig\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>packagecom.heima.redis.config;\nimport org.springframework.context.annotation.Bean;\nimportorg.springframework.context.annotation.Configuration;\nimport org.springframework.data.redis.connection.RedisConnectionFactory;\nimport org.springframework.data.redis.core.RedisTemplate;\n\n\n@Configuration\npublic class RedisConfig{\n@Bean\npublic RedisTemplate&lt;String, Object&gt; redisTemplate(RedisConnectionFactory redisConnectionFactory)\n        throws UnknownHostException {\n    \/\/ \u521b\u5efaTemplate\n    RedisTemplate&lt;String, Object&gt; redisTemplate = new RedisTemplate&lt;&gt;();\n    \/\/ \u8bbe\u7f6e\u8fde\u63a5\u5de5\u5382\n    redisTemplate.setConnectionFactory(redisConnectionFactory);\n    \/\/ \u8bbe\u7f6e\u5e8f\u5217\u5316\u5de5\u5177\n    GenericJackson2JsonRedisSerializer jsonRedisSerializer =\n            new GenericJackson2JsonRedisSerializer();\n    \/\/ key\u548chashKey\u91c7\u7528string\u5e8f\u5217\u5316\n    redisTemplate.setKeySerializer(RedisSerializer.string());\n    redisTemplate.setHashKeySerializer(RedisSerializer.string());\n    \/\/ value\u548chashValue\u91c7\u7528JSON\u5e8f\u5217\u5316\n    redisTemplate.setValueSerializer(jsonRedisSerializer);\n    redisTemplate.setHashValueSerializer(jsonRedisSerializer);\n    return redisTemplate;\n}<\/code><\/pre>\n\n\n\n<p>&nbsp;\u6211\u4eec\u628a\u8fd9\u4e2aRedisDemoApplicationTests.java\u7684\u65f6\u5019\u52a0\u4e2a\u6cdb\u578bstring object&nbsp; &nbsp; \u7b2c11\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Autowired\nprivate RedisTemplate&lt;String,Object&gt;redisTemplate;<\/code><\/pre>\n\n\n\n<p>\u5728xml\u4e2d\u8865\u5145Jackson\u4f9d\u8d56<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\uff01--Jackson\u4f9d\u8d56--&gt;\n&lt;dependency&gt;\n    &lt;groupId&gt;com.fasterxml.jackson.core&lt;\/groupId&gt;\n    &lt;artifactId&gt;jackson-databind&lt;\/artifactId&gt;\n&lt;\/dependency&gt;<\/code><\/pre>\n\n\n\n<p>\u90a3\u4e48\u5982\u679c\u6211\u5199\u7684\u4e00\u4e2a\u5bf9\u8c61\uff0c\u4ed6\u80fd\u4e0d\u80fd\u5e2e\u6211\u4eec\u4e5f\u53bb\u505a\u5e8f\u5217\u5316\u5462\uff0c\u7b54\u6848\u662fok\u7684\uff08\u8fd9\u91cc\u7701\u7565\u4e86\u4e00\u90e8\u5206\uff09<\/p>\n\n\n\n<p>\u5e8f\u5217\u5316\u5931\u8d25\u7684\u540c\u5b66\u770b\u4e0b\u5bfc\u5165\u7684@Configuration\u5305\u662f\u5426\u6b63\u786e import org.springframework.context.annotation.Configuration;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">&nbsp;StringRedisTemplate<\/h3>\n\n\n\n<p>\u5c3d\u7ba1JSON\u7684\u5e8f\u5217\u5316\u65b9\u5f0f\u53ef\u4ee5\u6ee1\u8db3\u6211\u4eec\u7684\u9700\u6c42\uff0c\u4f46\u4f9d\u7136\u5b58\u5728\u4e00\u4e9b\u95ee\u9898\uff0c\u5982\u56fe\uff1a<img loading=\"lazy\" decoding=\"async\" height=\"179\" width=\"608\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/a2a3e9e3e94e471e923fbdd419378167.png\" alt=\"\"><\/p>\n\n\n\n<p>\u4e3a\u4e86\u5728\u53cd\u5e8f\u5217\u5316\u65f6\u77e5\u9053\u5bf9\u8c61\u7684\u7c7b\u578b\uff0cJSON\u5e8f\u5217\u5316\u5668\u4f1a\u5c06\u7c7b\u7684class\u7c7b\u578b\u5199\u5165json\u7ed3\u679c\u4e2d\uff0c\u5b58\u5165Redis\uff0c\u4f1a\u5e26\u6765\u989d\u5916\u7684\u5185\u5b58\u5f00\u9500\u3002<\/p>\n\n\n\n<p>StringRedisTemplate<br>\u4e3a\u4e86\u8282\u7701\u5185\u5b58\u7a7a\u95f4\uff0c\u6211\u4eec\u5e76\u4e0d\u4f1a\u4f7f\u7528JSON\u5e8f\u5217\u5316\u5668\u6765\u5904\u7406value\uff0c\u800c\u662f\u7edf\u4e00\u4f7f\u7528String\u5e8f\u5217\u5316\u5668\uff0c\u8981\u6c42\u53ea\u80fd\u5b58\u50a8String \u7c7b\u578b\u7684key\u548cvalue\u3002\u5f53\u9700\u8981\u5b58\u50a8lava\u5bf9\u8c61\u65f6\uff0c\u624b\u52a8\u5b8c\u6210\u5bf9\u8c61\u7684\u5e8f\u5217\u5316\u548c\u53cd\u5e8f\u5217\u5316\u3002<img loading=\"lazy\" decoding=\"async\" height=\"227\" width=\"683\" src=\"https:\/\/i-blog.csdnimg.cn\/direct\/0ae05f8c469c4c4f9e823a5f26960405.png\" alt=\"\"><\/p>\n\n\n\n<p>\u65e2\u7136\u8bf4\u4e86\u6211\u4eec\u8981\u7edf\u4e00\u4f7f\u7528string\uff0c\u4e5f\u5c31\u662f\u8bf4\u6211\u4eec\u554a\u539f\u6765\u7684\u90a3\u4e2aredis template\uff0c\u662f\u4e0d\u662f\u9700\u8981\u7edf\u4e00\u7684\u5b9a\u4e49\u6210\u7528string serializer\u624d\u53ef\u4ee5\u554a\uff0c\u4e5f\u5c31\u662f\u8bf4\u8fd8\u9700\u8981\u91cd\u65b0\u7684\u5b9a\u4e49redis template<\/p>\n\n\n\n<p>&nbsp;Spring\u9ed8\u8ba4\u63d0\u4f9b\u4e86\u4e00\u4e2aStringRedisTemplate\u7c7b\uff0c\u5b83\u7684key\u548cvalue\u7684\u5e8f\u5217\u5316\u65b9\u5f0f\u9ed8\u8ba4\u5c31\u662fString\u65b9\u5f0f\u3002\u7701\u53bb\u4e86\u6211\u4eec\u81ea\u5b9a\u4e49RedisTemplate\u7684\u8fc7\u7a0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Autowired\nprivate StringRedisTemplate stringRedisTemplate;\n\/\/ JSON\u5de5\u5177\nprivate static final ObjectMapper mapper = new ObjectMapper();\n\n@Test\nvoid testStringTemplate() throws JsonProcessingException {\n    \/\/ \u51c6\u5907\u5bf9\u8c61\n    User user = new User(\"\u864e\u54e5\", 18);\n    \/\/ \u624b\u52a8\u5e8f\u5217\u5316\n    String json = mapper.writeValueAsString(user);\n    \/\/ \u5199\u5165\u4e00\u6761\u6570\u636e\u5230redis\n    stringRedisTemplate.opsForValue().set(\"user:200\", json);\n    \/\/ \u8bfb\u53d6\u6570\u636e\n    String val = stringRedisTemplate.opsForValue().get(\"user:200\");\n    \/\/ \u53cd\u5e8f\u5217\u5316\n    User user1 = mapper.readValue(val, User.class);\n    System.out.println(\"user1 = \" + user1);\n}<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\u65b0\u5efaRedisStringTests.java\n@SpringBootTest\nclass RedisStringTests {\n    @Autowired\n    private StringRedisTemplate stringRedisTemplate;\n    \n    @Test\n    void testString(){\n        \/\/\u5199\u5165\u4e00\u6761String\u6570\u636e\n        stringRedisTemplate.opsForValue().set(\"name\",\"\u864e\u54e5\");\n        \/\/\u83b7\u53d6string\u6570\u636e\n        Object name = stringRedisTemplate.opsForValue().get(\"name\");\n        System.out.println(\"name =\"+ name\uff09;    \n    }\n\n    \/\/\u7531\u4e8e\u4f60\u6362\u4e86\u6240\u4ee5\u65e0\u6cd5\u81ea\u52a8\u5e8f\u5217\u5316\n    private static final objectMappermapper=new objectMapper();\n    \n    @Test\n    void testSaveUser() throws JsonProcessingException{\n        \/\/\u521b\u5efa\u5bf9\u8c61\n        User user = new User(name:\"\u864e\u54e5\"\uff0cage:21);\n        \/\/\u624b\u52a8\u5e8f\u5217\u5316\n        String json = mapper.writeValueAsString(user) ;\n        \/\/\u5199\u5165\u6570\u636e\n        stringRedisTemplate.opsForValue().set(\"user:200\",json);\n        \n        \/\/\u83b7\u53d6\u6570\u636e\n        String jsonUser = stringRedisTemplate.opsForValue().get(\"user:100\");\n        \/\/\u624b\u52a8\u53cd\u5e8f\u5217\u5316\n        User userl =mapper.readValue(jsonUser\uff0cUser.class);\n        System.out.println(\"user1 =\"+user1);\n    }\n}<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>RedisTemplate\u7684\u4e24\u79cd\u5e8f\u5217\u5316\u5b9e\u8df5\u65b9\u6848\uff1a<br>\u65b9\u6848\u4e00\uff1a<br>1.\u81ea\u5b9a\u4e49RedisTemplate<br>2.\u4fee\u6539RedisTemplate\u7684\u5e8f\u5217\u5316\u5668\u4e3aGenericJackson2JsonRedisSerializer<br>\u65b9\u6848\u4e8c\uff1a<br>1.\u4f7f\u7528StringRedisTemplate<br>2.\u5199\u5165Redis\u65f6\uff0c\u624b\u52a8\u628a\u5bf9\u8c61\u5e8f\u5217\u5316\u4e3aJSON<\/p>\n\n\n\n<p>3.\u8bfb\u53d6Redis\u65f6\uff0c\u624b\u52a8\u628a\u8bfb\u53d6\u5230\u7684JSON\u53cd\u5e8f\u5217\u5316\u4e3a\u5bf9\u8c61<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">&nbsp;Hash\u7ed3\u6784<\/h3>\n\n\n\n<p>hash\u53ef\u4ee5\u5e72\u4ec0\u4e48\u5462\uff1f\u5c31\u662f\u4e00\u4e2akey\u5bf9\u5e94\u591a\u4e2a\u5b57\u6bb5\u548c\u503c\u5b57\u6bb5\u503c\uff0c\u4f46\u662f\u5728spring\u91cc\u9762\uff0c\u5b83\u5e76\u4e0d\u662f\u4ee5\u547d\u4ee4\u540d\u4f5c\u4e3a\u65b9\u6cd5\u540d\u7684\u3002\u800c\u662fput<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Test\nvoid testHash(){\n    stringRedisTemplate.opsForHash().put(key:\"user:40o\",hashKey:\"name\"\uff0cvalue:\"\u864e\u54e5\")\uff1b\n    stringRedisTemplate.opsForHash().put(key:\"user:40o\",hashKey:\"age\"\uff0cvalue:\"21\");\n\n    Map&lt;Object,Object> entries = stringRedisTemplate.opsForHash().entries(key:\"user:400\");\n    \/\/\u5f97\u5230\u7684\u5c31\u662f\u8fd9\u4e2a\u6240\u6709\u7684\u952e\u503c\u5bf9\u5f62\u6210\u7684map\u4e86\n    System.out.println(\"entries =\"+entries);\n}<img loading=\"lazy\" decoding=\"async\" height=\"15\" width=\"15\" src=\"blob:https:\/\/eve2333.top\/949622f2-0fcb-4bdd-bacd-f5b6b6125475\"><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Redis\u662f\u4e00\u4e2a\u952e\u503c\u6570\u636e\u5e93\uff0c\u5373\u4ee5key-value\u683c\u5f0f\u5b58\u50a8\u7684\uff0c\u8fd9\u79cdNoSQL\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93\u4e0eMySQL\u5173\u7cfb\u578b\u6570\u636e\u5e93\u622a\u7136\u76f8\u53cd SQL &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"emotion":"","emotion_color":"","title_style":"","license":"","footnotes":""},"categories":[2],"tags":[26],"class_list":["post-917","post","type-post","status-publish","format-standard","hentry","category-2","tag-redis"],"_links":{"self":[{"href":"https:\/\/eve2333.top\/index.php?rest_route=\/wp\/v2\/posts\/917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eve2333.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eve2333.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eve2333.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eve2333.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=917"}],"version-history":[{"count":1,"href":"https:\/\/eve2333.top\/index.php?rest_route=\/wp\/v2\/posts\/917\/revisions"}],"predecessor-version":[{"id":918,"href":"https:\/\/eve2333.top\/index.php?rest_route=\/wp\/v2\/posts\/917\/revisions\/918"}],"wp:attachment":[{"href":"https:\/\/eve2333.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eve2333.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eve2333.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}