8-Redis不能直接存储对象

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

一.建立Redis数据库链接

4395895-746e679ee59827f1.png
image.png

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

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

4395895-98f7120e3bcdc875.png
image.png

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

4395895-456ca3cc41f8686d.png
image.png

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

4395895-4241d87548cf2744.png
image.png

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

猜你喜欢

转载自blog.csdn.net/weixin_34252090/article/details/87656905
今日推荐