一、问题说明
用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大。
结果:系统响应慢,用户体验差。
二、实现思路
通过Redis来缓存菜品数据,减少数据库查询操作。
缓存逻辑分析:
--每个分类下的菜品保存一份缓存数据
--数据库中菜品数据有变更时清理缓存数据
三、代码开发
修改用户端接口 DishController 的 list 方法,加入缓存处理逻辑:
修改管理端接口 DishController 的相关方法,加入清理缓存的逻辑,需要改造的方法:
•
新增菜品
•
修改菜品
•
批量删除菜品
•
起售、停售菜品
抽取清理缓存方法
调用清理缓存的方法,保证数据一致性:
四、功能测试
可以通过如下方式进行测试:
•
查看控制台
sql
•
前后端联调
•
查看
Redis
中的缓存数据