{"id":296,"date":"2022-02-19T17:52:45","date_gmt":"2022-02-19T09:52:45","guid":{"rendered":"http:\/\/101.43.188.165\/?p=296"},"modified":"2022-02-20T16:59:39","modified_gmt":"2022-02-20T08:59:39","slug":"redis2","status":"publish","type":"post","link":"http:\/\/shuaihui.icu\/index.php\/2022\/02\/19\/redis2\/","title":{"rendered":"redis2"},"content":{"rendered":"\n<pre class=\"wp-block-preformatted\"><strong>public class RedisDemo {<\/strong>\n<strong>\n        public static void main(String[] args) {\n            Jedis jedis = new Jedis(\"120.79.130.82\",6379);\n            \/\/\u6d4b\u8bd5\n            jedis.auth(\"Hui52818\");\n            String value = jedis.ping();\n            System.<em>out<\/em>.println(value);\n            System.<em>out<\/em>.println(\"+++++++++++++++++++++++++\");\n\n\n        }\n\n}<\/strong><\/pre>\n\n\n\n<p>\u5728\u4ee3\u7801\u91cc\u9762\u6d4b\u8bd5\u8fde\u63a5redis\u65f6\u9700\u8981\u52a0\u5165\u5bc6\u7801\uff0c\u5426\u5219\u4f1a\u663e\u793a\u6ca1\u6709\u6743\u9650<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>\u6848\u4f8b<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><div class='fancybox-wrapper' data-fancybox='post-images' href='http:\/\/101.43.188.165\/wp-content\/uploads\/2022\/02\/image-151.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" data-original=\"http:\/\/101.43.188.165\/wp-content\/uploads\/2022\/02\/image-151.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-297\" width=\"707\" height=\"277\"  sizes=\"auto, (max-width: 707px) 100vw, 707px\" \/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><div class='fancybox-wrapper' data-fancybox='post-images' href='http:\/\/101.43.188.165\/wp-content\/uploads\/2022\/02\/image-152-1024x390.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" data-original=\"http:\/\/101.43.188.165\/wp-content\/uploads\/2022\/02\/image-152-1024x390.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" class=\"wp-image-299\" width=\"768\" height=\"293\"  sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/div><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>package com.hui.redis;\n\nimport jdk.internal.dynalink.beans.StaticClass;\nimport redis.clients.jedis.Jedis;\n\nimport java.util.Random;\n\npublic class PhoneCode {\n    public static void main(String&#91;] args) {\nString code = getCode();\n        System.out.println(code);\n        \/\/\u6a21\u62df\u9a8c\u8bc1\u7801\u53d1\u9001\n        verifyCode(\"13678765435\");\n\n        \/\/\u6a21\u62df\u9a8c\u8bc1\u7801\u6821\u9a8c\n        \/\/getRedisCode(\"13678765435\",\"4444\");\n    }\n    \n        \n   \n\n    \/\/3 \u9a8c\u8bc1\u7801\u6821\u9a8c\n    public static void getRedisCode(String phone,String code) {\n        \/\/\u4eceredis\u83b7\u53d6\u9a8c\u8bc1\u7801\n        Jedis jedis = new Jedis(\"192.168.44.168\",6379);\n        \/\/\u9a8c\u8bc1\u7801key\n        String codeKey = \"VerifyCode\"+phone+\":code\";\n        String redisCode = jedis.get(codeKey);\n        \/\/\u5224\u65ad\n        if(redisCode.equals(code)) {\n            System.out.println(\"\u6210\u529f\");\n        }else {\n            System.out.println(\"\u5931\u8d25\");\n        }\n        jedis.close();\n    }\n\n    \/\/2 \u6bcf\u4e2a\u624b\u673a\u6bcf\u5929\u53ea\u80fd\u53d1\u9001\u4e09\u6b21\uff0c\u9a8c\u8bc1\u7801\u653e\u5230redis\u4e2d\uff0c\u8bbe\u7f6e\u8fc7\u671f\u65f6\u95f4120\n    public static void verifyCode(String phone) {\n        \/\/\u8fde\u63a5redis\n        Jedis jedis = new Jedis(\"192.168.44.168\",6379);\n\n        \/\/\u62fc\u63a5key\n        \/\/\u624b\u673a\u53d1\u9001\u6b21\u6570key\n        String countKey = \"VerifyCode\"+phone+\":count\";\n        \/\/\u9a8c\u8bc1\u7801key\n        String codeKey = \"VerifyCode\"+phone+\":code\";\n\n        \/\/\u6bcf\u4e2a\u624b\u673a\u6bcf\u5929\u53ea\u80fd\u53d1\u9001\u4e09\u6b21\n        String count = jedis.get(countKey);\n        if(count == null) {\n            \/\/\u6ca1\u6709\u53d1\u9001\u6b21\u6570\uff0c\u7b2c\u4e00\u6b21\u53d1\u9001\n            \/\/\u8bbe\u7f6e\u53d1\u9001\u6b21\u6570\u662f1\n            jedis.setex(countKey,24*60*60,\"1\");\n        } else if(Integer.parseInt(count)&lt;=2) {\n            \/\/\u53d1\u9001\u6b21\u6570+1\n            jedis.incr(countKey);\n        } else if(Integer.parseInt(count)>2) {\n            \/\/\u53d1\u9001\u4e09\u6b21\uff0c\u4e0d\u80fd\u518d\u53d1\u9001\n            System.out.println(\"\u4eca\u5929\u53d1\u9001\u6b21\u6570\u5df2\u7ecf\u8d85\u8fc7\u4e09\u6b21\");\n            jedis.close();\n        }\n\n        \/\/\u53d1\u9001\u9a8c\u8bc1\u7801\u653e\u5230redis\u91cc\u9762\n        String vcode = getCode();\n        jedis.setex(codeKey,120,vcode);\n        jedis.close();\n    }\n\n    public static String getCode(){\n        Random random = new Random();\n        StringBuilder stringBuilder = new StringBuilder();\n        for (int i = 0 ; i &lt; 6 ;i++){\n            int i1 = random.nextInt(10);\n            stringBuilder.append(i1);\n        }\n        return stringBuilder.toString();\n    }\n}<\/strong>\n<\/code><\/pre>\n\n\n\n<p>springboot\u6574\u5408redis<\/p>\n\n\n\n<p>pom.xml<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!-- redis -->\r\n<strong>&lt;dependency>\r\n&lt;groupId>org.springframework.boot&lt;\/groupId>\r\n&lt;artifactId>spring-boot-starter-data-redis&lt;\/artifactId>\r\n&lt;\/dependency>\r\n\r\n&lt;!-- spring2.X\u96c6\u6210redis\u6240\u9700common-pool2-->\r\n&lt;dependency>\r\n\t&lt;groupId>org.apache.commons&lt;\/groupId>\r\n\t&lt;artifactId>commons-pool2&lt;\/artifactId>\r\n\t&lt;version>2.6.0&lt;\/version>\r\n&lt;\/dependency><\/strong>\r\n<\/code><\/pre>\n\n\n\n<p>application.properties\u914d\u7f6eredis\u914d\u7f6e<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>#Redis\u670d\u52a1\u5668\u5730\u5740\r\nspring.redis.host=192.168.140.136\r\n#Redis\u670d\u52a1\u5668\u8fde\u63a5\u7aef\u53e3\r\nspring.redis.port=6379\r\n#Redis\u6570\u636e\u5e93\u7d22\u5f15\uff08\u9ed8\u8ba4\u4e3a0\uff09\r\nspring.redis.database= 0\r\n#\u8fde\u63a5\u8d85\u65f6\u65f6\u95f4\uff08\u6beb\u79d2\uff09\r\nspring.redis.timeout=1800000\r\n#\u8fde\u63a5\u6c60\u6700\u5927\u8fde\u63a5\u6570\uff08\u4f7f\u7528\u8d1f\u503c\u8868\u793a\u6ca1\u6709\u9650\u5236\uff09\r\nspring.redis.lettuce.pool.max-active=20\r\n#\u6700\u5927\u963b\u585e\u7b49\u5f85\u65f6\u95f4(\u8d1f\u6570\u8868\u793a\u6ca1\u9650\u5236)\r\nspring.redis.lettuce.pool.max-wait=-1\r\n#\u8fde\u63a5\u6c60\u4e2d\u7684\u6700\u5927\u7a7a\u95f2\u8fde\u63a5\r\nspring.redis.lettuce.pool.max-idle=5\r\n#\u8fde\u63a5\u6c60\u4e2d\u7684\u6700\u5c0f\u7a7a\u95f2\u8fde\u63a5\r\nspring.redis.lettuce.pool.min-idle=0<\/strong>\r\n<\/code><\/pre>\n\n\n\n<p>\u6dfb\u52a0redis\u914d\u7f6e\u7c7b  \u914d\u7f6e\u7c7b\u7eaf\u5751 springboot\u7248\u672c\u5fc5\u987b\u4f7f\u7528 <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>&lt;version>2.2.1.RELEASE&lt;\/version><\/strong>\n\u4e0d\u7136\u914d\u7f6e\u7c7b\u91cc\u9762\u7684\u4e1c\u897f\u5168\u90e8\u7206\u7ea2<\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>package com.example.demo.config;\r\n\r\nimport com.fasterxml.jackson.annotation.JsonAutoDetect;\r\nimport com.fasterxml.jackson.annotation.PropertyAccessor;\r\nimport com.fasterxml.jackson.databind.ObjectMapper;\r\nimport org.springframework.cache.CacheManager;\r\nimport org.springframework.cache.annotation.CachingConfigurerSupport;\r\nimport org.springframework.cache.annotation.EnableCaching;\r\nimport org.springframework.context.annotation.Bean;\r\nimport org.springframework.context.annotation.Configuration;\r\nimport org.springframework.data.redis.cache.RedisCacheConfiguration;\r\nimport org.springframework.data.redis.cache.RedisCacheManager;\r\nimport org.springframework.data.redis.connection.RedisConnectionFactory;\r\nimport org.springframework.data.redis.core.RedisTemplate;\r\nimport org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;\r\nimport org.springframework.data.redis.serializer.RedisSerializationContext;\r\nimport org.springframework.data.redis.serializer.RedisSerializer;\r\nimport org.springframework.data.redis.serializer.StringRedisSerializer;\r\n\r\nimport java.time.Duration;\r\n\r\n@EnableCaching\r\n@Configuration\r\npublic class RedisConfig extends CachingConfigurerSupport {\r\n\r\n    @Bean\r\n    public RedisTemplate&lt;String, Object> redisTemplate(RedisConnectionFactory factory) {\r\n        RedisTemplate&lt;String, Object> template = new RedisTemplate&lt;>();\r\n        RedisSerializer&lt;String> redisSerializer = new StringRedisSerializer();\r\n        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);\r\n        ObjectMapper om = new ObjectMapper();\r\n        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);\r\n        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);\r\n        jackson2JsonRedisSerializer.setObjectMapper(om);\r\n        template.setConnectionFactory(factory);\r\n\/\/key\u5e8f\u5217\u5316\u65b9\u5f0f\r\n        template.setKeySerializer(redisSerializer);\r\n\/\/value\u5e8f\u5217\u5316\r\n        template.setValueSerializer(jackson2JsonRedisSerializer);\r\n\/\/value hashmap\u5e8f\u5217\u5316\r\n        template.setHashValueSerializer(jackson2JsonRedisSerializer);\r\n        return template;\r\n    }\r\n\r\n    @Bean\r\n    public CacheManager cacheManager(RedisConnectionFactory factory) {\r\n        RedisSerializer&lt;String> redisSerializer = new StringRedisSerializer();\r\n        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);\r\n\/\/\u89e3\u51b3\u67e5\u8be2\u7f13\u5b58\u8f6c\u6362\u5f02\u5e38\u7684\u95ee\u9898\r\n        ObjectMapper om = new ObjectMapper();\r\n        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);\r\n        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);\r\n        jackson2JsonRedisSerializer.setObjectMapper(om);\r\n\/\/ \u914d\u7f6e\u5e8f\u5217\u5316\uff08\u89e3\u51b3\u4e71\u7801\u7684\u95ee\u9898\uff09,\u8fc7\u671f\u65f6\u95f4600\u79d2\r\n        RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig()\r\n                .entryTtl(Duration.ofSeconds(600))\r\n                .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(redisSerializer))\r\n                .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jackson2JsonRedisSerializer))\r\n                .disableCachingNullValues();\r\n        RedisCacheManager cacheManager = RedisCacheManager.builder(factory)\r\n                .cacheDefaults(config)\r\n                .build();\r\n        return cacheManager;\r\n    }\r\n}<\/strong>\r\n<\/code><\/pre>\n\n\n\n<p>\u6d4b\u8bd5\u4e00\u4e0b<br>RedisTestController\u4e2d\u6dfb\u52a0\u6d4b\u8bd5\u65b9\u6cd5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>@RestController\r\n@RequestMapping(\"\/redisTest\")\r\npublic class RedisTestController {\r\n    @Autowired\r\n    private RedisTemplate redisTemplate;\r\n\r\n    @GetMapping\r\n    public String testRedis() {\r\n        \/\/\u8bbe\u7f6e\u503c\u5230redis\r\n        redisTemplate.opsForValue().set(\"name\",\"lucy\");\r\n        \/\/\u4eceredis\u83b7\u53d6\u503c\r\n        String name = (String)redisTemplate.opsForValue().get(\"name\");\r\n        return name;\r\n    }\r\n}<\/strong>\r\n<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"10-redis-\u4e8b\u52a1-\u9501\u673a\u5236-\u79d2\u6740\">10.Redis_\u4e8b\u52a1_\u9501\u673a\u5236_\u79d2\u6740<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"10-1-redis\u7684\u4e8b\u52a1\u5b9a\u4e49\"><a><\/a><a><\/a>10.1.Redis\u7684\u4e8b\u52a1\u5b9a\u4e49<\/h2>\n\n\n\n<p>Redis\u4e8b\u52a1\u662f\u4e00\u4e2a\u5355\u72ec\u7684\u9694\u79bb\u64cd\u4f5c\uff1a\u4e8b\u52a1\u4e2d\u7684\u6240\u6709\u547d\u4ee4\u90fd\u4f1a\u5e8f\u5217\u5316\u3001\u6309\u987a\u5e8f\u5730\u6267\u884c\u3002\u4e8b\u52a1\u5728\u6267\u884c\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e0d\u4f1a\u88ab\u5176\u4ed6\u5ba2\u6237\u7aef\u53d1\u9001\u6765\u7684\u547d\u4ee4\u8bf7\u6c42\u6240\u6253\u65ad\u3002<\/p>\n\n\n\n<p>Redis\u4e8b\u52a1\u7684\u4e3b\u8981\u4f5c\u7528\u5c31\u662f\u4e32\u8054\u591a\u4e2a\u547d\u4ee4\u9632\u6b62\u522b\u7684\u547d\u4ee4\u63d2\u961f<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><div class='fancybox-wrapper' data-fancybox='post-images' href='https:\/\/img-blog.csdnimg.cn\/29d9fe67338a4a0fbcee74233943d3cb.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_20,color_FFFFFF,t_70,g_se,x_16'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" data-original=\"https:\/\/img-blog.csdnimg.cn\/29d9fe67338a4a0fbcee74233943d3cb.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_20,color_FFFFFF,t_70,g_se,x_16\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" width=\"599\" height=\"384\"\/><\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"10-2-multi-exec-discard\">10.2.Multi\u3001Exec\u3001discard<\/h2>\n\n\n\n<p>\u4ece\u8f93\u5165Multi\u547d\u4ee4\u5f00\u59cb\uff0c\u8f93\u5165\u7684\u547d\u4ee4\u90fd\u4f1a\u4f9d\u6b21\u8fdb\u5165\u547d\u4ee4\u961f\u5217\u4e2d\uff0c\u4f46\u4e0d\u4f1a\u6267\u884c\uff0c\u76f4\u5230\u8f93\u5165Exec\u540e\uff0cRedis\u4f1a\u5c06\u4e4b\u524d\u7684\u547d\u4ee4\u961f\u5217\u4e2d\u7684\u547d\u4ee4\u4f9d\u6b21\u6267\u884c\u3002<\/p>\n\n\n\n<p>\u7ec4\u961f\u7684\u8fc7\u7a0b\u4e2d\u53ef\u4ee5\u901a\u8fc7discard\u6765\u653e\u5f03\u7ec4\u961f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><div class='fancybox-wrapper' data-fancybox='post-images' href='https:\/\/img-blog.csdnimg.cn\/754b887407e2424794670cd12e6513bf.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_20,color_FFFFFF,t_70,g_se,x_16'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" data-original=\"https:\/\/img-blog.csdnimg.cn\/754b887407e2424794670cd12e6513bf.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_20,color_FFFFFF,t_70,g_se,x_16\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" width=\"590\" height=\"272\"\/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><div class='fancybox-wrapper' data-fancybox='post-images' href='https:\/\/img-blog.csdnimg.cn\/02ae317fe0454447b5286d9cabc399a4.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_15,color_FFFFFF,t_70,g_se,x_16'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/img-blog.csdnimg.cn\/02ae317fe0454447b5286d9cabc399a4.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_15,color_FFFFFF,t_70,g_se,x_16\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\"\/><\/div><\/figure>\n\n\n\n<p>\u7ec4\u961f\u6210\u529f\uff0c\u63d0\u4ea4\u6210\u529f<\/p>\n\n\n\n<p><strong>\u653e\u5f03\u7ec4\u961f<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><div class='fancybox-wrapper' data-fancybox='post-images' href='https:\/\/img-blog.csdnimg.cn\/c6e4947f243a488f8bd8da7df2bcc76f.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_13,color_FFFFFF,t_70,g_se,x_16'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/img-blog.csdnimg.cn\/c6e4947f243a488f8bd8da7df2bcc76f.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_13,color_FFFFFF,t_70,g_se,x_16\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\"\/><\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"10-3-\u4e8b\u52a1\u7684\u9519\u8bef\u5904\u7406\">10.3.\u4e8b\u52a1\u7684\u9519\u8bef\u5904\u7406<\/h2>\n\n\n\n<p>\u7ec4\u961f\u4e2d\u67d0\u4e2a\u547d\u4ee4\u51fa\u73b0\u4e86\u62a5\u544a\u9519\u8bef\uff0c\u6267\u884c\u65f6\u6574\u4e2a\u7684\u6240\u6709\u961f\u5217\u90fd\u4f1a\u88ab\u53d6\u6d88\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><div class='fancybox-wrapper' data-fancybox='post-images' href='https:\/\/img-blog.csdnimg.cn\/68703ae582fe4711af525883161eb56f.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_20,color_FFFFFF,t_70,g_se,x_16'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" data-original=\"https:\/\/img-blog.csdnimg.cn\/68703ae582fe4711af525883161eb56f.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_20,color_FFFFFF,t_70,g_se,x_16\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" width=\"602\" height=\"249\"\/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><div class='fancybox-wrapper' data-fancybox='post-images' href='https:\/\/img-blog.csdnimg.cn\/7fc08f06afec4909958447bfc677f944.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_20,color_FFFFFF,t_70,g_se,x_16'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/img-blog.csdnimg.cn\/7fc08f06afec4909958447bfc677f944.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_20,color_FFFFFF,t_70,g_se,x_16\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\"\/><\/div><\/figure>\n\n\n\n<p>\u7ec4\u961f\u9636\u6bb5\u62a5\u9519\uff0c\u63d0\u4ea4\u5931\u8d25<\/p>\n\n\n\n<p>\u5982\u679c\u6267\u884c\u9636\u6bb5\u67d0\u4e2a\u547d\u4ee4\u62a5\u51fa\u4e86\u9519\u8bef\uff0c\u5219\u53ea\u6709\u62a5\u9519\u7684\u547d\u4ee4\u4e0d\u4f1a\u88ab\u6267\u884c\uff0c\u800c\u5176\u4ed6\u7684\u547d\u4ee4\u90fd\u4f1a\u6267\u884c\uff0c\u4e0d\u4f1a\u56de\u6eda\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><div class='fancybox-wrapper' data-fancybox='post-images' href='https:\/\/img-blog.csdnimg.cn\/2ecff03d86c346a0ab90f8cbf17032bd.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_20,color_FFFFFF,t_70,g_se,x_16'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  loading=\"lazy\" decoding=\"async\" data-original=\"https:\/\/img-blog.csdnimg.cn\/2ecff03d86c346a0ab90f8cbf17032bd.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_20,color_FFFFFF,t_70,g_se,x_16\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\" width=\"593\" height=\"251\"\/><\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><div class='fancybox-wrapper' data-fancybox='post-images' href='https:\/\/img-blog.csdnimg.cn\/b036a6fd048f4a6fb9ec1f05800e2e80.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_18,color_FFFFFF,t_70,g_se,x_16'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/img-blog.csdnimg.cn\/b036a6fd048f4a6fb9ec1f05800e2e80.png?x-oss-process=image\/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXVzaWNDb2RlTQ==,size_18,color_FFFFFF,t_70,g_se,x_16\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"\"\/><\/div><\/figure>\n\n\n\n<p>\u7ec4\u961f\u6210\u529f\uff0c\u63d0\u4ea4\u6709\u6210\u529f\u6709\u5931\u8d25\u60c5\u51b5<\/p>\n","protected":false},"excerpt":{"rendered":"<p>public class RedisDemo { public static void main(String [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":298,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-296","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"uagb_featured_image_src":{"full":["http:\/\/shuaihui.icu\/wp-content\/uploads\/2022\/02\/preview-7.jpg",1080,1080,false],"thumbnail":["http:\/\/shuaihui.icu\/wp-content\/uploads\/2022\/02\/preview-7-150x150.jpg",150,150,true],"medium":["http:\/\/shuaihui.icu\/wp-content\/uploads\/2022\/02\/preview-7-300x300.jpg",300,300,true],"medium_large":["http:\/\/shuaihui.icu\/wp-content\/uploads\/2022\/02\/preview-7-768x768.jpg",768,768,true],"large":["http:\/\/shuaihui.icu\/wp-content\/uploads\/2022\/02\/preview-7-1024x1024.jpg",1024,1024,true],"1536x1536":["http:\/\/shuaihui.icu\/wp-content\/uploads\/2022\/02\/preview-7.jpg",1080,1080,false],"2048x2048":["http:\/\/shuaihui.icu\/wp-content\/uploads\/2022\/02\/preview-7.jpg",1080,1080,false]},"uagb_author_info":{"display_name":"xiaofeng","author_link":"http:\/\/shuaihui.icu\/index.php\/author\/xiaofeng\/"},"uagb_comment_info":0,"uagb_excerpt":"public class RedisDemo { public static void main(String&hellip;","_links":{"self":[{"href":"http:\/\/shuaihui.icu\/index.php\/wp-json\/wp\/v2\/posts\/296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/shuaihui.icu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/shuaihui.icu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/shuaihui.icu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/shuaihui.icu\/index.php\/wp-json\/wp\/v2\/comments?post=296"}],"version-history":[{"count":3,"href":"http:\/\/shuaihui.icu\/index.php\/wp-json\/wp\/v2\/posts\/296\/revisions"}],"predecessor-version":[{"id":303,"href":"http:\/\/shuaihui.icu\/index.php\/wp-json\/wp\/v2\/posts\/296\/revisions\/303"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/shuaihui.icu\/index.php\/wp-json\/wp\/v2\/media\/298"}],"wp:attachment":[{"href":"http:\/\/shuaihui.icu\/index.php\/wp-json\/wp\/v2\/media?parent=296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/shuaihui.icu\/index.php\/wp-json\/wp\/v2\/categories?post=296"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/shuaihui.icu\/index.php\/wp-json\/wp\/v2\/tags?post=296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}