依赖
<!-- spring data框架,提供了redis的整合支持,内部支持lettuce以及Jedis客户端 -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>2.5.6</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
配置类
@Configuration
public class RedisConfig {
/**
* Redis 的连接工厂
*
* @return
*/
@Bean
public RedisConnectionFactory connectionFactory() {
// 创建单机模式的redis配置(还有集群模式-多个redis)
// 构造方法指定主机地址、端口(也可以在set中设置)
RedisStandaloneConfiguration configuration = new RedisStandaloneConfiguration("www.lldwb.top",7890);
// 设置密码
configuration.setPassword("@lldwb_redis");
// 选择要访问的数据库
configuration.setDatabase(0);
// 创建lettuce连接工厂
return new LettuceConnectionFactory(configuration);
}
// /**
// * 装配String类型的RedisTemplate,用于操作redis数据库,这个template只能用于操作key和value都是String类型的数据
// * @return
// */
// @Bean
// public RedisTemplate<String,String> stringRedisTemplate(){
// // 创建StringRedisTemplate并注入连接工厂
// return new StringRedisTemplate(connectionFactory());
// }
/**
* 市场推荐使用这种方法
* 装配自定义的RedisTemplate,通过使用不同的序列化器,来定制序列化key和value的数据类型
*/
@Bean
public RedisTemplate<String,Object> redisTemplate(){
RedisTemplate<String,Object> template = new RedisTemplate();
// 使用StringRedisSerializer来序列化和反序列化key
template.setKeySerializer(RedisSerializer.string());
template.setHashKeySerializer(RedisSerializer.string());
// 使用Jackson序列化器来序列化和反序列化value
// 底层使用 js序列化 的包
template.setValueSerializer(RedisSerializer.json());
template.setHashValueSerializer(RedisSerializer.json());
// 注入RedisConnectionFactory
template.setConnectionFactory(connectionFactory());
return template;
}
}