<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
Since storage requires serialization, we need to configure the serialization method of redis. If If not configured, both key and value use StringRedisSerializer by default, which can only be used to store String type data, so we need to configure our commonly used types. At the same time, our Java entity class must also inherit the Serializable interface
@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; } }
Before this step, we must make sure that the connected redis service has been started
@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")); }
Test results
The above is the detailed content of Springboot integrated redis instance analysis. For more information, please follow other related articles on the PHP Chinese website!