java无法存入redis_Redis之SpringDataRedis对象写入到Redis中

本文介绍了如何使用SpringDataRedis结合Jackson将Java对象存入Redis,探讨了JDK序列化和Jackson序列化的优缺点,并展示了Jackson序列化时如何在不指定目标类的情况下实现反序列化。
摘要由CSDN通过智能技术生成

业务场景中经常遇到使用Redis作为缓存,而将对象写入Redis更是常见的。下面来看下,对象写入Redis的俩种方式(我之前就知道除了JDK,还有其它的诸如Jackson提供序列化功能,但是JDK之外的其它第三方在方序列化的时候提供目标对象class,不过今天我发现Spring-data-redis自带的这个GenericJackson2JsonRedisSerializer解决了我的烦恼)。

1.公用配置

List-1 连接池和ConnectionFactory配置

2.用JDK序列化方式

List-2 使用JDK的序列化方式

如List-2所示,我们要将keySerializer和valueSerializer的值设置为JdkSerializationRedisSerializer。

3.用Jackson方式

List-2 使用Jackson作为序列化

我们都知道Jackson反序列化的时候,都需要传入目标对象class,这里我们并不需要指定目标class,那么问题来了,它是怎么做到在使用者不提供目标class的情况下,方序列化的呢?

先来定义实体类,如下List-3和List-4

List-3 Department.java

/**

* @author dmj1161859184@126.com 2018-09-18 01:21

* @version 1.0

* @since 1.0

*/

@Data

public class Department {

private String name;

private List o

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值