• springboot 集成redis


    1.作用

    • 提升系统的运行效率
    • 简化缓存的使用

    2集成

    2.1导入需要的包

    包括jedis,spring-data-redis以及jackson(在将对象序列化保存到redis中需要) 

    1.pom.xml

    1. <dependency>
    2. <groupId>org.springframework.bootgroupId>
    3. <artifactId>spring-boot-starter-data-redisartifactId>
    4. dependency>
    5. <dependency>
    6. <groupId>redis.clientsgroupId>
    7. <artifactId>jedisartifactId>
    8. <version>3.3.0version>
    9. dependency>

    2. application.properties

    1. # -------------------- redis config B -------------------------
    2. # Redis数据库索引(默认为0
    3. spring.redis.database=0
    4. # Redis服务器地址
    5. spring.redis.host=192.168.0.24
    6. # Redis服务器连接端口
    7. spring.redis.port=6379
    8. # Redis服务器连接密码(默认为空)
    9. spring.redis.password=
    10. # 连接池最大连接数(使用负值表示没有限制)
    11. spring.redis.jedis.pool.max-active=100
    12. # 连接池最大阻塞等待时间(使用负值表示没有限制)
    13. spring.redis.jedis.pool.max-wait=-1ms
    14. # 连接池中的最大空闲连接
    15. spring.redis.jedis.pool.max-idle=10
    16. # 连接池中的最小空闲连接
    17. spring.redis.jedis.pool.min-idle=0
    18. # 连接超时时间(毫秒)
    19. spring.redis.jedis.timeout=1000
    20. # -------------------- redis config E -------------------------

    3.在resources目录下建立readis.properties

    1. redis.host=localhost
    2. redis.port=6379
    3. redis.maxIdle=100
    4. redis.maxTotal=100
    5. redis.maxWaitMillis=6000
    6. redis.testOnBorroW=true

    4.建立CacheConfig

    1. package com.huamei.sbdome01.config;
    2. import org.springframework.context.annotation.Bean;
    3. import org.springframework.data.redis.connection.RedisConnectionFactory;
    4. import org.springframework.data.redis.core.RedisTemplate;
    5. import org.springframework.data.redis.core.StringRedisTemplate;
    6. import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
    7. import org.springframework.data.redis.serializer.StringRedisSerializer;
    8. public class CacheConfig {
    9. @Bean
    10. public RedisTemplate redisTemplate(RedisConnectionFactory cf) {
    11. RedisTemplate redisTemplate = new RedisTemplate<>();
    12. redisTemplate.setConnectionFactory(cf);
    13. GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
    14. redisTemplate.setKeySerializer(new StringRedisSerializer());
    15. redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer);
    16. redisTemplate.setHashKeySerializer(new StringRedisSerializer());
    17. redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer);
    18. return redisTemplate;
    19. }
    20. @Bean
    21. public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory factory) {
    22. StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
    23. stringRedisTemplate.setConnectionFactory(factory);
    24. return stringRedisTemplate;
    25. }
    26. }

    这时候我们已经完成redis的集成了

    测试

    下面我们在编写一个controller用于测试

    1. /**
    2. * 用于测试redis集成
    3. * @author Administrator
    4. * @create 2019-12-1822:16
    5. */
    6. @RestController
    7. public class RedisTestController {
    8. @Resource
    9. private RedisTemplate redisTemplate;
    10. @RequestMapping(value = "/redis")
    11. public Object redis() {
    12. String name = "redis test";
    13. redisTemplate.opsForValue().set("redisTest", name);
    14. Map map = new HashMap<>();
    15. map.put("code", 1);
    16. map.put("msg", "操作成功");
    17. return map;
    18. }
    19. }

  • 相关阅读:
    XXE-XML外部实体注入-知识点
    Nginx
    magento1.x多域名部署可行性方案
    软件测试需要学多久 ?这篇文章告诉你答案..
    微服务项目实战-黑马头条(十三):持续集成
    SG-8201CJA(汽车可编程晶体振荡器)
    算法强训:第三十四天
    应用健康度隐患刨析解决系列之数据库时区设置
    一道有趣的最长子序列问题
    神奇!这款 Vue 后台框架居然不用手动配置路由
  • 原文地址:https://blog.csdn.net/weixin_67150631/article/details/127861741