SpringBoot整合Redis
1.添加maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.配置Redis连接
spring.redis.host=192.168.157.11
spring.redis.port=6379
# 在Redis配置文件中配置requirepass 000
spring.redis.password=000
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=300
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=3000
# 连接池中的最大空闲连接数
spring.redis.jedis.pool.max-idle=10
3.添加Redis配置类
@Configuration
public class RedisConfiguration{
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory){
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(factory);
Jackson2JsonRedisSerializer jackson2Json=new Jackson2JsonRedisSerializer<>(Object.class);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance,
ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY);
jackson2Json.setObjectMapper(objectMapper);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(jackson2Json);
redisTemplate.setHashValueSerializer(jackson2Json);
return redisTemplate;
}
}
4.测试
@Test
public void contextLoads(){
redisTemplate.opsForValue().set("string","hello world");
System.out.println(redisTemplate.opsForValue().get("string"));
redisTemplate.opsForValue().set("int",1);
redisTemplate.opsForValue().increment("int",5);
System.out.println(redisTemplate.opsForValue().get("int"));
redisTemplate.opsForValue().set("user:1",new User("xiaoming",20));
User user= (User) redisTemplate.opsForValue().get("user:1");
System.out.println(user);
redisTemplate.opsForList().leftPush("list",user);
redisTemplate.opsForList().leftPush("list",user);
redisTemplate.opsForList().leftPush("list",user);
List<Object> list = redisTemplate.opsForList().range("list", 0, -1);
for(Object o:list){
User user1= (User) o;
System.out.println(user1);
}
HashMap<String,Object> map=new HashMap<>();
map.put("name","xiaoming");
map.put("age",123);
redisTemplate.opsForHash().putAll("hash",map);
redisTemplate.opsForHash().increment("hash","age",100);
Integer integer = (Integer) redisTemplate.opsForHash().get("hash", "age");
System.out.println(integer);
}