{"id":201565,"date":"2025-05-10T08:48:16","date_gmt":"2025-05-10T00:48:16","guid":{"rendered":"https:\/\/server.hk\/cnblog\/201565\/"},"modified":"2025-05-10T08:48:16","modified_gmt":"2025-05-10T00:48:16","slug":"redis%e6%98%af%e5%a6%82%e4%bd%95%e5%ad%98%e5%82%a8%e5%af%b9%e8%b1%a1%e5%92%8c%e9%9b%86%e5%90%88%e7%9a%84","status":"publish","type":"post","link":"https:\/\/server.hk\/cnblog\/201565\/","title":{"rendered":"Redis\u662f\u5982\u4f55\u5b58\u50a8\u5bf9\u8c61\u548c\u96c6\u5408\u7684"},"content":{"rendered":"<p><b><\/b> <\/p>\n<h1>Redis\u662f\u5982\u4f55\u5b58\u50a8\u5bf9\u8c61\u548c\u96c6\u5408\u7684<\/h1>\n<p><span style=\"cursor: pointer\"><i><\/i>\u6536\u85cf<\/span> <\/p>\n<p>\u672c\u7bc7\u6587\u7ae0\u5411\u5927\u5bb6\u4ecb\u7ecd\u300aRedis\u662f\u5982\u4f55\u5b58\u50a8\u5bf9\u8c61\u548c\u96c6\u5408\u7684\u300b\uff0c\u4e3b\u8981\u5305\u62ec\u5b58\u50a8\u3001\u5bf9\u8c61\u3001Redis\uff0c\u5177\u6709\u4e00\u5b9a\u7684\u53c2\u8003\u4ef7\u503c\uff0c\u9700\u8981\u7684\u670b\u53cb\u53ef\u4ee5\u53c2\u8003\u4e00\u4e0b\u3002<\/p>\n<p>\u5728\u9879\u76ee\u4e2d\uff0c\u7f13\u5b58\u4ee5\u53camq\u6d88\u606f\u961f\u5217\u53ef\u4ee5\u8bf4\u662f\u4e0d\u53ef\u6216\u7f3a\u76842\u4e2a\u91cd\u8981\u6280\u672f\u3002\u524d\u8005\u4e3b\u8981\u662f\u4e3a\u4e86\u51cf\u8f7b\u6570\u636e\u5e93\u538b\u529b\uff0c\u5927\u5e45\u5ea6\u63d0\u5347\u6027\u80fd\u3002\u540e\u8005\u4e3b\u8981\u662f\u4e3a\u4e86\u63d0\u9ad8\u7528\u6237\u7684\u4f53\u9a8c\u5ea6\uff0c\u6211\u7406\u89e3\u7684\u662f\u518d\u540e\u7aef\u505a\u7684\u4e00\u4e2aajax\u8bf7\u6c42(\u5f02\u6b65)\uff0c\u5e76\u4e14\u50cfribbmitmq\u7b49\u6d88\u606f\u961f\u5217\u6709\u91cd\u8bd5\u673a\u5236\u7b49\u529f\u80fd\u3002<\/p>\n<p>\u8fd9\u91cc\u4e3b\u8981\u8bb2redis\u5982\u4f55\u628a\u5bf9\u8c61\uff0c\u96c6\u5408\u5b58\u5165\uff0c\u5e76\u4e14\u53d6\u51fa\u3002<\/p>\n<\/p>\n<p><strong>1.\u5728\u542f\u52a8\u7c7b\u4e0a\u52a0\u5165\u5982\u4e0b\u4ee3\u7801<\/strong><\/p>\n<\/p>\n<pre>private&nbsp;Jedis&nbsp;jedis;private&nbsp;JedisPoolConfig&nbsp;config;private&nbsp;JedisShardInfo&nbsp;sharInfo;@Beanpublic&nbsp;Jedis&nbsp;jedis(){\/\/\u8fde\u63a5redis\u670d\u52a1\u5668\uff0c192.168.0.100:6379\/\/&nbsp;jedis&nbsp;=&nbsp;new&nbsp;Jedis(\"192.168.0.100\",&nbsp;6379);\/\/&nbsp;\/\/\u6743\u9650\u8ba4\u8bc1\/\/&nbsp;jedis.auth(\"123456\");\/\/&nbsp;\u64cd\u4f5c\u5355\u72ec\u7684\u6587\u672c\u4e32config&nbsp;=&nbsp;new&nbsp;JedisPoolConfig();&nbsp;\r\nconfig.setMaxIdle(1000);\/\/\u6700\u5927\u7a7a\u95f2\u65f6\u95f4config.setMaxWaitMillis(1000);&nbsp;\/\/\u6700\u5927\u7b49\u5f85\u65f6\u95f4config.setMaxTotal(500);&nbsp;\/\/redis\u6c60\u4e2d\u6700\u5927\u5bf9\u8c61\u4e2a\u6570sharInfo&nbsp;=&nbsp;new&nbsp;JedisShardInfo(\"192.168.0.100\",&nbsp;6379);&nbsp;\r\nsharInfo.setPassword(\"123456\");&nbsp;\r\nsharInfo.setConnectionTimeout(5000);\/\/\u94fe\u63a5\u8d85\u65f6\u65f6\u95f4jedis&nbsp;=&nbsp;new&nbsp;Jedis(sharInfo);return&nbsp;jedis;&nbsp;\r\n<\/pre>\n<p><strong>2.\u5728application.yml\u5f53\u4e2d\u52a0\u5165redis\u914d\u7f6e<\/strong><\/p>\n<\/p>\n<pre>spring:&nbsp;\r\n&nbsp;&nbsp;redis:&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;database:&nbsp;0&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;host:&nbsp;101.132.191.77&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;port:&nbsp;6379&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;password:&nbsp;123456&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;pool:&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max-idle:&nbsp;8&nbsp;#\u8fde\u63a5\u6c60\u6700\u5927\u8fde\u63a5\u6570\uff08\u4f7f\u7528\u8d1f\u503c\u8868\u793a\u6ca1\u6709\u9650\u5236\uff09&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min-idle:&nbsp;0&nbsp;#&nbsp;\u8fde\u63a5\u6c60\u4e2d\u7684\u6700\u5c0f\u7a7a\u95f2\u8fde\u63a5&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max-active:&nbsp;8&nbsp;#&nbsp;\u8fde\u63a5\u6c60\u6700\u5927\u963b\u585e\u7b49\u5f85\u65f6\u95f4\uff08\u4f7f\u7528\u8d1f\u503c\u8868\u793a\u6ca1\u6709\u9650\u5236\uff09&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max-wait:&nbsp;-1&nbsp;#&nbsp;\u8fde\u63a5\u6c60\u4e2d\u7684\u6700\u5927\u7a7a\u95f2\u8fde\u63a5&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timeout:&nbsp;5000&nbsp;#&nbsp;\u8fde\u63a5\u8d85\u65f6\u65f6\u95f4\uff08\u6beb\u79d2\uff09&nbsp;\r\n<\/pre>\n<p><strong>3.\u65b0\u5efaSerializeUtil\u7c7b\uff0c\u8fd9\u4e2a\u7c7b\u4e3b\u8981\u662f\u4e3a\u4e86\u5c06\u5bf9\u8c61\u5e8f\u5217\u5316redis\u5f53\u4e2d<\/strong><\/p>\n<\/p>\n<pre>import&nbsp;java.io.ByteArrayInputStream;&nbsp;\r\nimport&nbsp;java.io.ByteArrayOutputStream;&nbsp;\r\nimport&nbsp;java.io.ObjectInputStream;&nbsp;\r\nimport&nbsp;java.io.ObjectOutputStream;\/**&nbsp;\r\npublic&nbsp;class&nbsp;SerializeUtil&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;byte[]&nbsp;serialize(Object&nbsp;object)&nbsp;{&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ObjectOutputStream&nbsp;oos&nbsp;=&nbsp;null;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ByteArrayOutputStream&nbsp;baos&nbsp;=&nbsp;null;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{\/\/&nbsp;\u5e8f\u5217\u5316baos&nbsp;=&nbsp;new&nbsp;ByteArrayOutputStream();&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oos&nbsp;=&nbsp;new&nbsp;ObjectOutputStream(baos);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oos.writeObject(object);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;byte[]&nbsp;bytes&nbsp;=&nbsp;baos.toByteArray();&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;bytes;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(Exception&nbsp;e)&nbsp;{&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}return&nbsp;null;&nbsp;\r\n&nbsp;&nbsp;public&nbsp;static&nbsp;Object&nbsp;unserialize(&nbsp;byte[]&nbsp;bytes)&nbsp;{&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ByteArrayInputStream&nbsp;bais&nbsp;=&nbsp;null;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u53cd\u5e8f\u5217\u5316bais&nbsp;=&nbsp;new&nbsp;ByteArrayInputStream(bytes);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ObjectInputStream&nbsp;ois&nbsp;=&nbsp;new&nbsp;ObjectInputStream(bais);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;ois.readObject();&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(Exception&nbsp;e)&nbsp;{&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}return&nbsp;null;&nbsp;\r\n<\/pre>\n<p><strong>4.\u6211\u5c01\u88c5\u4e86\u4e00\u4e2aRedisServiceImpl\u7c7b\uff0c\u4e3b\u8981\u662f\u7528\u5bf9redis\u8bbe\u503c\u548c\u53d6\u503c<\/strong><\/p>\n<\/p>\n<pre>import&nbsp;com.ys.util.redis.SerializeUtil;&nbsp;\r\nimport&nbsp;org.springframework.beans.factory.annotation.Autowired;&nbsp;\r\nimport&nbsp;org.springframework.data.redis.core.StringRedisTemplate;&nbsp;\r\nimport&nbsp;org.springframework.stereotype.Service;&nbsp;\r\nimport&nbsp;redis.clients.jedis.Jedis;&nbsp;\r\nimport&nbsp;java.util.List;&nbsp;\r\nimport&nbsp;java.util.Map;&nbsp;\r\nimport&nbsp;java.util.concurrent.TimeUnit;&nbsp;\r\n@Service&nbsp;\r\npublic&nbsp;class&nbsp;RedisServiceImpl&nbsp;\r\n&nbsp;{@Autowired&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;StringRedisTemplate&nbsp;stringRedisTemplate;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;@Autowired&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;Jedis&nbsp;jedis;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;setStr(String&nbsp;key,&nbsp;String&nbsp;value)&nbsp;{&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setStr(key,&nbsp;value,&nbsp;null);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;setStr(String&nbsp;key,&nbsp;Object&nbsp;value,&nbsp;Long&nbsp;time)&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;{if(value&nbsp;==&nbsp;null){&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;return;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}if(value&nbsp;instanceof&nbsp;String){&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;obj&nbsp;=&nbsp;(String)&nbsp;value;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stringRedisTemplate.opsForValue().set(key,&nbsp;obj);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if(value&nbsp;instanceof&nbsp;List){&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;obj&nbsp;=&nbsp;(List)&nbsp;value;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stringRedisTemplate.opsForList().leftPushAll(key,obj);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if(value&nbsp;instanceof&nbsp;Map){&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map&nbsp;obj&nbsp;=&nbsp;(Map)&nbsp;value;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stringRedisTemplate.opsForHash().putAll(key,obj);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}if&nbsp;(time&nbsp;!=&nbsp;null)&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stringRedisTemplate.expire(key,&nbsp;time,&nbsp;TimeUnit.SECONDS);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;Object&nbsp;getKey(String&nbsp;key)&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{return&nbsp;stringRedisTemplate.opsForValue().get(key);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;delKey(String&nbsp;key)&nbsp;{&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stringRedisTemplate.delete(key);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;boolean&nbsp;del(String&nbsp;key)&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{return&nbsp;jedis.del(key.getBytes())&gt;0;&nbsp;\r\n<\/pre>\n<p><strong>5.\u6d4b\u8bd5redis\u662f\u5426ok\uff0c\u7f16\u5199redisController\u7c7b<\/strong><\/p>\n<\/p>\n<pre>import&nbsp;com.ys.service.impl.RedisServiceImpl;&nbsp;\r\nimport&nbsp;com.ys.vo.IqProduct;&nbsp;\r\nimport&nbsp;org.springframework.beans.factory.annotation.Autowired;&nbsp;\r\nimport&nbsp;org.springframework.web.bind.annotation.RequestMapping;&nbsp;\r\nimport&nbsp;org.springframework.web.bind.annotation.RestController;&nbsp;\r\nimport&nbsp;java.util.ArrayList;&nbsp;\r\nimport&nbsp;java.util.Date;&nbsp;\r\nimport&nbsp;java.util.List;&nbsp;\r\n@RestController&nbsp;\r\npublic&nbsp;class&nbsp;RedisServiceController&nbsp;\r\n@Autowired&nbsp;\r\nprivate&nbsp;RedisServiceImpl&nbsp;redisService;&nbsp;\r\n@RequestMapping(value&nbsp;=&nbsp;\"\/setredis\")&nbsp;\r\npublic&nbsp;String&nbsp;setredis(String&nbsp;keyredis){&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;redisService.setStr(keyredis,\"2018\u5e741\u670826\u65e5\");&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;\"\u4fdd\u5b58\u6210\u529f,\u8bf7\u8bbf\u95eegetredis\u67e5\u8be2redis\";&nbsp;\r\n@RequestMapping(value&nbsp;=&nbsp;\"\/setObj\")&nbsp;\r\npublic&nbsp;String&nbsp;setObj(String&nbsp;keyredis){&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;IqProduct&nbsp;iqProduct&nbsp;=&nbsp;new&nbsp;IqProduct();&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;iqProduct.setSort(1);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;iqProduct.setTimestamp(new&nbsp;Date().getTime());&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;iqProduct.setProductName(\"productname\");&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;list.add(iqProduct);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;redisService.set(keyredis,&nbsp;iqProduct);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;\"\u4fdd\u5b58\u6210\u529f,\u8bf7\u8bbf\u95eegetredis\u67e5\u8be2redis\";&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;@RequestMapping(value&nbsp;=&nbsp;\"\/getObj\")&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;Object&nbsp;getObj(String&nbsp;keyredis){&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;object&nbsp;=&nbsp;redisService.get(keyredis);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(object&nbsp;!=null){&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IqProduct&nbsp;iqProduct&nbsp;=&nbsp;(IqProduct)&nbsp;object;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.&nbsp;out.println(iqProduct.getProductName());&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.&nbsp;out.println(iqProduct.getId());&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.&nbsp;out.println(iqProduct.getTimestamp());&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}return&nbsp;object;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@RequestMapping(value&nbsp;=&nbsp;\"\/delObj\")&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;boolean&nbsp;delObj(String&nbsp;keyredis)&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{boolean&nbsp;del&nbsp;=&nbsp;redisService.del(keyredis);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;del;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@RequestMapping(value&nbsp;=&nbsp;\"\/getredis\")&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String&nbsp;getredis(String&nbsp;keyredis){&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;getredis&nbsp;=&nbsp;(String)&nbsp;redisService.getKey(keyredis);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;\"redis\u7684key\u662f===&gt;\"+getredis;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@RequestMapping(value&nbsp;=&nbsp;\"\/delredis\")&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String&nbsp;delredis(String&nbsp;keyredis){&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;redisService.delKey(keyredis);&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;\"\u5220\u9664\u6210\u529f\uff0c\u8bf7\u901a\u8fc7getredis\u8fdb\u884c\u67e5\u8be2\";&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@RequestMapping(value&nbsp;=&nbsp;\"\/setList\")&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String&nbsp;setList(String&nbsp;keyredis){&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;list&nbsp;=&nbsp;new&nbsp;ArrayList();for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;i&nbsp;iqProducts&nbsp;=&nbsp;(List\n   \n    )&nbsp;object;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;i\n    \n   <\/pre>\n<p><strong>6.\u6d4b\u8bd5\u7ed3\u679c<\/strong><\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Redis\u662f\u5982\u4f55\u5b58\u50a8\u5bf9\u8c61\u548c\u96c6\u5408\u7684&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[101],"tags":[],"class_list":["post-201565","post","type-post","status-publish","format-standard","hentry","category-database"],"_links":{"self":[{"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/posts\/201565","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/comments?post=201565"}],"version-history":[{"count":0,"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/posts\/201565\/revisions"}],"wp:attachment":[{"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/media?parent=201565"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/categories?post=201565"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/tags?post=201565"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}