SpringBoot + Redis

发布于 17 天前  13 次阅读


导入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    <version>3.3.3</version>
</dependency>

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
</dependency>

加入配置

// application.property
spring.application.name=redus-springboot
#Redis服务器地址
spring.data.redis.host= #{machine ip address}
#Redis服务器端口 默认为6379
spring.data.redis.port= #{port} 
#Redis服务器索引*(默认为0)
spring.data.redis.database=0
#Redis连接超时时间(单位:毫秒)
spring.data.redis.timeout=1800000
#Redis连接池配置(用负数时没有限制)
spring.data.redis.lettuce.pool.max-active=20
#Redis连接池最大阻塞等待时间(使用负值表示没有限制)
spring.data.redis.lettuce.pool.max-wait=-1
#Redis连接池中的最小空闲连接
spring.data.redis.lettuce.pool.max-idle=5
#Redis连接池中的最大空闲连接
spring.data.redis.lettuce.pool.min-idle=0

创建Redis配置类

// RedisConfig
// 启用Spring缓存技术
// 配置文件标记注解
@EnableCaching
@Configuration
public class RedisConfig {
        // 固定写法,创建一个RedisTemplate类 并交给IOC容器管理。
        @Bean
        public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
            RedisTemplate<String, Object> template = new RedisTemplate<>();
            template.setConnectionFactory(connectionFactory);

            // 使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值
            Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<>(Object.class);

            template.setValueSerializer(serializer);
            template.setHashValueSerializer(serializer);
            // 使用StringRedisSerializer来序列化和反序列化redis的key值
            template.setKeySerializer(new StringRedisSerializer());
            template.setHashKeySerializer(new StringRedisSerializer());

            template.afterPropertiesSet();
            return template;
        }
}

使用

@RestController
@RequestMapping("/redis")
public class redisTest {
    // 创建一个redis模板类对象。
    @Autowired
    private RedisTemplate<String,Object> redis;

    @GetMapping("/hso")
    public void hso(){
        redis.opsForValue().set("misaka","H");
        redis.opsForValue().get("misaka");
    }
}
届ける言葉を今は育ててる
最后更新于 2024-09-02