1、Redis安装
2、环境搭建
创建SpringBoot项目
导入依赖
<dependencies>
<!--redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
配置配置文件
可参考上图配置
使用SpringBoot配置好的StringRedisTemplate来操作redis
3、基本测试
@Test
void contextLoads() {
stringRedisTemplate.opsForValue().set("hello","world");
String hello = stringRedisTemplate.opsForValue().get("hello");
System.out.println("键hello对应的数据是:"+hello);
}
4、向redis中以JSON格式存入Java实体类(配置序列化器)
创建实体类
注意实现Serializable 接口
public class User implements Serializable {
private String name;
private Integer age;
private String address;
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", address='" + address + '\'' +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
1、如果使用RedisTemplate
但是redis存储的是一堆乱码
需要配置在配置类中设置序列化器
@Configuration
public class MyRedisConfig {
@Bean(name="redisTemplate")
public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, String> template = new RedisTemplate<>();
RedisSerializer<String> redisSerializer = new StringRedisSerializer();
template.setConnectionFactory(factory);
//key序列化方式
template.setKeySerializer(redisSerializer);
//value序列化
template.setValueSerializer(redisSerializer);
//value hashmap序列化
template.setHashValueSerializer(redisSerializer);
//key haspmap序列化
template.setHashKeySerializer(redisSerializer);
//
return template;
}
}
2、如果使用StringRedisTemplate
可使用JSON工具进行转化
@Test
void contextLoads() {
User user = new User();
user.setName("小明");
user.setAge(17);
user.setAddress("学校");
//JSON工具进行转化
String s = JSONValue.toJSONString(user);
redisTemplate.opsForValue().set("data",s);
Object hello = redisTemplate.opsForValue().get("data");
System.out.println("键hello对应的数据是:"+hello.toString());
}
本文源码已由GitHub https://github.com/2335119327/SpringBootDemo 已经收录,之后会持续更新SpringBoot系列,欢迎Star。
觉得博主写的不错的读者大大们,可以点赞关注和收藏哦,谢谢各位!