⭐准备工作:
- 确保Redis服务已启动
- idea开发环境
⭐Redis整合步骤:
小知识:
Spring整合的Redis可以将Object对象自动序列化成字符串,如果我们想存储中文的话,要改序列化的方式为UTF-8,springdataredis默认的序列化方式我们是看不懂的。
1.pom文件引入依赖
<!-- redis起步依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- redis连接池--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> </dependency>
2.yml文件配置连接信息
spring: data: redis: host: port: 6379 password: lettuce: pool: max-active: 8 # 最大连接数 max-idle: 8 # 最大空闲连接 min-idle: 8 # 最小空闲连接 max-wait: 100ms # 等待时长
3.修改Redis序列化方式
创建Redis的配置类
注意:
如果你使用的SpringMVC自带Jackson依赖,无需再次引入
<!--Jackson依赖--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency>
@Configuration public class RedisConfig { @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory){ // 创建redistemplate对象 RedisTemplate<String, Object> template = new RedisTemplate<>(); // 设置连接工厂 template.setConnectionFactory(connectionFactory); // 创建JSON序列化工具 GenericJackson2JsonRedisSerializer jsonRedisSerializer = new GenericJackson2JsonRedisSerializer(); // 设置Key的序列化 template.setKeySerializer(RedisSerializer.string()); template.setHashKeySerializer(RedisSerializer.string()); // 设置Value的序列化 template.setValueSerializer(jsonRedisSerializer); template.setHashValueSerializer(jsonRedisSerializer); // 返回 return template; } }
4.注入RedisTemplate 使用
@Autowired RedisTemplate<String, Object> redisTemplate; @Test void contextLoads() { ValueOperations opsForValue = redisTemplate.opsForValue(); opsForValue.set("name", "潘茨"); String name = (String) opsForValue.get("name"); System.out.println(name); }
在客户端查看是否添加成功