Redis缓存菜品实现
通过Redis来缓存菜品数据,减少数据库查询操作。Redis是内存的操作,查询数据库则是磁盘的IO操作
Redis缓存流程:
菜品缓存逻辑分析:
每个分类下的菜品保存一份缓存数据
将每一个分类下的所有菜品转换为一个字符串在Redis中存储
数据库中菜品数据有变更时清理缓存数据,防止数据库中修改菜品后依然读取缓存则造成不一致问题
缓存菜品数据代码实现
总体流程:根据前端所传来的categoryId构造存储在redis中的key,并且根据key在redis缓存中查询,如果查询成功则返回list,查询为空则查询数据库,将查询到的数据添加至redis缓存中,并返回查询list
@Autowierd
private DishService dishService;
@Autowierd
private RedisTemplate redistemplate;
@GetMapping("/list")
@ApiOperation("根据分类id查询菜品")
public Result<List<DishVO>> list(Long categoryId){
//构造redis中的key,规则:dish_分类id
St