<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data- redis</artifactId> </dependency>
spring: redis: password: port: 6379 host: localhost database: 0 jedis: pool: ## 连接池最大连接数(使用负值表示没有限制) #spring.redis.pool.max-active=8 max-active: 8 ## 连接池最大阻塞等待时间(使用负值表示没有限制) #spring.redis.pool.max-wait=-1 max-wait: -1 ## 连接池中的最大空闲连接 #spring.redis.pool.max-idle=8 max-idle: 8 ## 连接池中的最小空闲连接 #spring.redis.pool.min-idle=0 min-idle: 0 ## 连接超时时间(毫秒) lettuce: shutdown-timeout: 0
저장소를 직렬화해야 하므로 redis의 직렬화 방법을 구성하지 않으면 키와 값은 StringRedisSerializer를 사용합니다. 기본적으로는 String 유형의 데이터를 저장하는 데 사용할 수 있으므로 일반적으로 사용되는 유형을 구성해야 합니다. 동시에 Java 엔터티 클래스는 직렬화 가능 인터페이스도 상속해야 합니다
@Configuration public class RedisConfig { @Bean public RedisTemplate<String , Object> redisTemplate(RedisConnectionFactory factory){ RedisTemplate<String, Object> template = new RedisTemplate<>(); template.setConnectionFactory(factory); Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); ObjectMapper om = new ObjectMapper(); om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); // om.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY); jackson2JsonRedisSerializer.setObjectMapper(om); StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); // key采用String的序列化方式 template.setKeySerializer(stringRedisSerializer); // hash的key也采用String的序列化方式 template.setHashKeySerializer(stringRedisSerializer); // value序列化方式采用jackson template.setValueSerializer(jackson2JsonRedisSerializer); // hash的value序列化方式采用jackson template.setHashValueSerializer(jackson2JsonRedisSerializer); template.afterPropertiesSet(); return template; } }
이 단계 전에 연결된 Redis 서비스가 켜져 있는지 확인해야 합니다
@Autowired private RedisTemplate<String , Object> redisTemplate; @Test public void testSelect() throws SQLException { redisTemplate.opsForValue().set("qqq",userMapper.findByUname("zengkaitian")); System.out.println("redis中获取的:"+redisTemplate.opsForValue().get("qqq")); }
테스트 결과
위 내용은 Springboot 통합 Redis 인스턴스 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!