赞
踩
创建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
@Test
void contextLoads() {
stringRedisTemplate.opsForValue().set("hello","world");
String hello = stringRedisTemplate.opsForValue().get("hello");
System.out.println("键hello对应的数据是:"+hello);
}
创建实体类
注意实现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。
觉得博主写的不错的读者大大们,可以点赞关注和收藏哦,谢谢各位!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。