首先我们都知道,redis在存入数据时,需要使用序列化将它写入到内存中,但是,如果我们不指定格式,它就会默认使用jdk序列化器,这个序列化器序列化之后,我们读取的时候,再使用反序列化器读取,可能对我直观上上没有什么影响,但是到redis图形化界面我们就会看到,它存储的k和v都是乱码的状态,这样的话,就非常不利于我们直观地看它的k值,那么为了解决这一问题,redis也提供了别的序列化器供我们进行配置,redis本身是继承了一个redisaccess类,并且它这个父类还实现了一个初始化bean接口,意思就是springboot在启动的时候,会默认初始化redis序列化器,它底层会自动检查当前是否配置了新的序列化器,如果配置了,就会使用新的序列化器,如果没有,则会默认使用jdk序列化器.
举个易于理解的例子,它就像我们存入文件和读取文件时一样,比如我们存入的是文件,但是存入到文件中是我们看不懂乱码,如果我们不指定格式,它默认会使用的可能是是GBK,那么就是乱码,如果我们指定使用UTF-8,那么它就会使用UTF-8进行存入,利用这种思想,我们就可以自定义序列化器,
让它存入k的时候使用我们自定义的,然后我们看到的就不是乱码了,这样的话,k是我们看的懂的,v是解密的,看不到的,这样就达到我们的目标了.