pom依賴:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> <relativePath/> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> </dependencies>
yml配置:
1 spring: 2 redis: 3 host: 127.0.0.1
配置類:
/**
* @author GongXincheng
* @since 2019-09-26 13:36
*/
@Configuration
public class RedisConfigBean {
/**
* redis 防止key value 前綴亂碼.
*
* @param factory redis連接 factory
* @return redisTemplate
*/
@Bean(name = "redisTemplate")
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(factory);
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
template.setHashKeySerializer(new GenericJackson2JsonRedisSerializer());
template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
template.afterPropertiesSet();
return template;
}
}

常用api:
stringRedisTemplate.opsForValue().set("test", "100",60*10,TimeUnit.SECONDS);//向redis里存入數據和設置緩存時間
stringRedisTemplate.opsForValue().get("test") //根據key獲取緩存中的val
stringRedisTemplate.boundValueOps("test").increment(-1); //val做-1操作
stringRedisTemplate.boundValueOps("test").increment(1); //val +1
stringRedisTemplate.getExpire("test") //根據key獲取過期時間
stringRedisTemplate.getExpire("test",TimeUnit.SECONDS) //根據key獲取過期時間並換算成指定單位
stringRedisTemplate.delete("test"); //根據key刪除緩存
stringRedisTemplate.hasKey("546545"); //檢查key是否存在,返回boolean值
stringRedisTemplate.expire("red_123",1000 , TimeUnit.MILLISECONDS); //設置過期時間
stringRedisTemplate.opsForSet().add("red_123", "1","2","3"); //向指定key中存放set集合
stringRedisTemplate.opsForSet().isMember("red_123", "1") //根據key查看集合中是否存在指定數據
stringRedisTemplate.opsForSet().members("red_123"); //根據key獲取set集合
