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

在这一章节我们会用到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入门以及店铺营业状态设置的代码实现已经完成。