苍穹外卖【day5|Redis与店铺营业状态设置】

🌈个人主页 :一条泥憨鱼 (欢迎各位大佬莅临)

🎬精选专栏:数据结构与算法 ,Java,AI与Agent

在这一章节我们会用到redis,相关安装包在资料里都有,直接解压安装即可

在我们的苍穹外卖项目中使用redis,有以下几步操作

导入Spring Data Redis的maven坐标

在pom.xml文件导入相关依赖

配置redis数据源

注意看对应的文件

这里的database是指操作哪个数据库,因为redis最初默认给了我们0-15这16个数据库

这里我们就选10号吧

编写配置类,创建RedisTemplate对象

通过Redistemplate对象操作Redis

这里容易踩的坑是,在操作的时候应该先启动redis,并保持cmd终端窗口在运行状态,也就是不能关掉,不然后面就会一直爆红

先做一个简单说明,一会就能使用这五个对象操作不同类型的数据

操作字符串类型的数据:

接下来去到我们的10号数据库中

这里实际上不是乱码,而是由于我们是通过Java程序操作的redis,变成这个样子是因为其经过了序列化,但实际上key是能正常展示的,因为我们配置了序列化器StringRedisSerializer。类似乱码的东西会让我们看起来不舒服,但实际上并不影响使用

操作哈希类型的数据

操作列表类型的数据

这里我连续运行了三次,然后惊奇地发现,每运行一次,都会重复地添加数据进去,也就导致最后存储了12个数据

操作集合类型的数据

运行结果如下

redis控制台回显结果如下

操作有序集合类型的数据

运行结果展示

redis控制台回显结果如下

通用命令操作

这里就不需要像之前一样创建xxoperations对象了,我们直接用redisTemplate对象进行操作即可

一开始并没有返回任何东西,去一开始的redis配置类加上@Bean这个注解就可以了

附:需要新添加的注解展示图

店铺营业状态设置

需求分析和设计

产品原型

接口设计

用户端查询与管理端查询接口十分相似,只需把请求路径中的admin改为user就可以了

因为营业状态十分简单,我们也没有必要单独用一张mysql的表去存储,所以这里用redis

请求路径与之前不一样,新建controller层代码实现

当前controller/admin包下面的类都是管理端提交过来的请求,我们还需要接受用户端发过来的请求,因此需要创建新的包

新的包:

由于用户端功能与管理端一样,所以直接把/admin包下面的ShopController拷贝到user下面就可以了。但要注意把请求路径改为user,并且把用户端的修改营业状态给去除掉

但由于此时两个包重名,在运行的时候会引起Spring容器报错,所以在启动之前最好先编译一下项目

编译提示冲突,我们就来给两个包的注解改一下用以区分

弄完这些突然发现登不进去了,捣鼓好久才发现其实是因为电脑被我重启过,所以要重新启动nginx和redis...

由于现在有用户端接口和管理端接口,为了便于区分,我们在配置类方法中设置两个方法,将它们分开扫描,便于我们在接口文档中查看

接口文档就会变成这样,便于我们查看和操作用户端和管理端的接口

至此,redis入门以及店铺营业状态设置的代码实现已经完成。

相关推荐
2301_780789662 小时前
跨平台适配!SDK 游戏盾兼容全终端游戏场景
java·网络·ddos
学长毕设3 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
滴滴答答哒3 小时前
ASP.NET Core + FaceRecognitionDotNet 人脸识别实战:DI 单例、特征向量持久化与 1:N 比对
后端·asp.net
步行cgn3 小时前
FormHttpMessageConverter 详解:Spring MVC 中表单数据的读写转换器
java·spring·mvc
龙亘川3 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
金銀銅鐵3 小时前
[Java] 用 CLI 展示 EnumMap 增删键值对时的内部变化
java·源码·ai编程
秋天的怀念_David4 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Raas1004 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
niucloud-admin5 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php
霸道流氓气质5 小时前
智能客服组件:分层意图识别、RAG Advisor 与人工转接状态机的 Vue3 + Spring AI 生产级实战
java·人工智能·spring