spring boot 2.x
使用RedisTemplate 操作
===================================
1.pom.xml
<!--spring2.0集成redis所需common-pool2--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>2.4.2</version> </dependency> <!-- 使用redis的LUA脚本 需要序列化操作的jar--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency>
2.redisConfig 需要加入spring的自动配置
/** * @author sxd * @date 2019/5/27 16:13 */ @Configuration @AutoConfigureAfter(RedisAutoConfiguration.class) public class RedisConfig { @Bean public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory) { RedisTemplate redisTemplate = new RedisTemplate(); redisTemplate.setConnectionFactory(factory); RedisSerializer keySerializer = new StringRedisSerializer(); // RedisSerializer valueSerializer = new GenericJackson2JsonRedisSerializer(); //key采用字符串反序列化对象 redisTemplate.setKeySerializer(keySerializer); //value也采用字符串反序列化对象 //原因:管道操作,是对redis命令的批量操作,各个命令返回结果可能类型不同 //可能是 Boolean类型 可能是String类型 可能是byte[]类型 因此统一将结果按照String处理 redisTemplate.setValueSerializer(keySerializer); return redisTemplate; } }