前言

在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);
    }
}