9.Redis中存储对象

前面我们说了Redis中不能直接存对象,原因也很简单,在第三方库中没有类型转换接口,也就是说,我们把对象存进去了,取出来时无法还原,但是对于string/int类型都存在第三方存在的类型转换接口,所以说,这里用Redis要间接存储对象,我们在这里要用到编解码机制,编辑也是先探索,在总结,最后应用

一.Redis存储对象-探索

1.存储结构体

1.创建容器用于存储转换之后的二进制流(数据)
2.创建编码器
3.将结构体(对象)转换到buffer中
4.将转换后的二进制数据存储到Redis中

4395895-3cc1a1cc35026fcb.png
image.png

2.取出结构体

1.去Redis中查询数据
2.将查询到的数据转换为二进制
3.创建解码对象
4.将二进制的数据解码到指定变量中

4395895-4c289812c40bedf8.png
image.png

二.存储对象-总结

4395895-5973cdaf95980629.png
image.png

三.存储对象-应用

1.回顾

在Begoo-MySQL文集中我们做过一个案例,在学生列表界面,有一个班级查询选项,每次刷新界面,都会通过路由链接控制器,请求数据库的班级列表数据.这种数据有一个特点:不更改,频繁查询适合存储在Redis数据库中,访问速率会大大的提高

2.实现

1.建立/关闭Redis数据库链接
2.导入Redigo数据库
3.查询班级列表
4.查询为空或者查询错误
执行:从MySQL数据库查询数据加载到Redis中
5.否则
执行:从Redis中获取数据
6.返回数据到视图

4395895-a4e5d322cc7ea867.png
image.png

4395895-8a1ed7651079dcf0.png
image.png

猜你喜欢

转载自blog.csdn.net/weixin_34236869/article/details/87656909
今日推荐