前言
在redis中的数据存储方式:序列化和json字符串(采纳)
一、关于Redis数据存储
1、概念
- 存:
就是把数据库的数据存到redis(json字符串)- 取:
就是把redis(json字符串)的数据转换成对象
2、Redis数据存储的技术
(1)第一种技术
Springmvc:jackson
(2)第二种技术
Google:gson
(3)第三种技术(采纳,最牛逼的)
Alibaba:fastjson
二、FastJson入门操作
- 一个对象和json字符串之间相互转换
- 一个对象集合的list集合和json字符串之间相互转换
1、先在pom.xml中引入fastjson的依赖
<!--fastjson依赖-->
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
2、一个对象和json字符串之间相互转换
@Test
public void myTestFastJsonObject() throws Exception{
//1.一个对象和json字符串之间相互转换
//(1).对象转换成json字符串
User user = new User(1L,"zhangsan");
//将user对象传入JSON.toJSONString(object)中得到json字符串
String jsonString = JSON.toJSONString(user);
//打印的json字符串:{"id":1,"name":"zhangsan"}
System.out.println(jsonString);
//(2).将json字符串转换为对象
//将json字符串传入JSON.parseObject(String str,Class<T> clazz)方法中
User user1 = JSON.parseObject(jsonString,User.class );
//打印出的对象:User{id=1, name='zhangsan'}
System.out.println(user1);
}
3、一个对象集合的list集合和json字符串之间相互转换
@Test
public void myTestFastJosnList() throws Exception{
//2.一个list对象集合和json字符串之间相互转换
List<User> list=new ArrayList<>();
list.add(new User(2L,"lisi"));
list.add(new User(3L,"王五"));
list.add(new User(4L,"tianqi"));
//(1)将list集合转换为json字符串
String jsonString = JSON.toJSONString(list);
//打印出json字符串:[{"id":2,"name":"lisi"},{"id":3,"name":"王五"},{"id":4,"name":"tianqi"}]
System.out.println(jsonString);
//(2).将json字符串转换为list
List<User> userList = JSON.parseArray(jsonString, User.class);
for (User user : userList) {
//打印出对象:User{id=2, name='lisi'} User{id=3, name='王五'} User{id=4, name='tianqi'}
System.out.println(user);
}
}