前几天陆陆续续写了苍穹外卖的员工管理,菜品,分类,套餐管理等,未坚持每日学习,未写复盘
1. 今天做了什么
(day5的内容)
- Redis入门
- 安装
- Redis里的数据类型:字符串,哈希,集合,有序集合,列表
- Redis操作的命令
- java程序中操作Redis数据库:使用Spring Data Redis
- 配置
- 使用
- 店铺相关接口 , 使用Redis存储
- 设置店铺营业状态
- 获取店铺状态(用户端与管理端)
- 接口分组展示的配置
2. 核心知识点
Redis的基础使用
3. 深度思考
- 为什么使用Redis
- Redis将数据存在内存中,访问效率更高,可用于存方高频使用的数据
- 店铺状态只有一个值,使用Redis需要为它单独创建一个一行一列的表,而使用Redis这种键值对的方式就很方便
4. 踩过的坑
- 获取店铺状态有用户端与管理端,必须在使用@RestController(“userShopController”)注解是对其命名进行区分,否则会因为Bean对象名冲突报错
5. 遗留问题 / 想不通
- 通过@Bean注解在配置类中配置的Bean,使用范围是?
- 只有该配置类在springboot扫描范围内,才会加入IOC容器管理
- 只有被IOC容器管理的类,其非静态属性,才可以使用@Autowired注入Bean
redisTemplate.setKeySerializer(new StringRedisSerializer());的作用- 对key进行序列化
- java操作Redis时,使用java字符串作为key,所以为Key指定字符串序列化器,可以确保java字符串存进Redis还是该字符串
- 若不指定序列化器,使用默认序列化器,存进Redis的key与java字符串会不一致
- 也可以为Value设置序列化器
// 设置 Value 的序列化器(通常用 Jackson,存 JSON 格式,方便其他语言读取)
redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(Object.class));
1 |
|