8-Redis不能直接存储对象

再MySql中我们通过结构体和表的映射来存储数据,但是对于Redis来说,它是读不懂结构体的,所有数据转换方法中,也不包含结构体.不同于以往的项目实践,在这里我们并没有完成预定的功能,只是通过一步步的实践去验证一个结果,那就是Redis不能存储结构体.也可以从根本原因上看,Redis不支持结构体类型,虽然hash根结构体类似,但是不是结构体,或者说是,它能与一个结构体对象对接,但是不能与多个结构团体对象对接

一.建立Redis数据库链接

《8-Redis不能直接存储对象》 image.png

二.定义结构体并创建对象

这里一个结构体对象相当于一个值

《8-Redis不能直接存储对象》 image.png

三.将结构体切片存储到Redis

《8-Redis不能直接存储对象》 image.png

四.Redis无法将拿到的数据转换为结构体切片

《8-Redis不能直接存储对象》 image.png

如果只是在key中存储一个结构体对象,也是一样的结果
原因在于key支持的五种数据类型中,虽然hash和结构体很像,但是它们是不同的,如果存储一个结构体对象,在Redis中会返回字符串,如果是多个结构体对象的切片,可能存储的时候就会出问题,更别说,将返回的值转换为结构体了

    原文作者:梦想成为小仙女
    原文地址: https://www.jianshu.com/p/0383576cd9a0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞