Day05 学习主题与产出
今天你要掌握两件事:
- Redis 基础:数据类型 + 常用命令 + 在 Java/Spring Boot 里怎么用(核心是
RedisTemplate) - 用 Redis 落地一个真实功能:店铺营业状态设置/查询(管理端设置、管理端查、用户端查)
最终产出:
- 你能把“营业/打烊”状态用 Redis 的一个字符串 key 存起来(约定:1 营业、0 打烊)
- 你能写出 3 个接口并在
doc.html测通,再做前后端联调
Part A:Redis 你需要记住的“最小知识集”
1) Redis 是啥 & 为什么用它
Redis 是内存型 key-value 数据库,读写性能高,常用于热点数据等场景。
2) 五种常用数据类型(只要先会这五个)
string / hash / list / set / zset
3) 常用命令(先会“够用”的)
- string:
SET/GET/SETEX/SETNX - hash:
HSET/HGET/HDEL/HKEYS/HVALS - list:
LPUSH/LRANGE/RPOP/LLEN/BRPOP - set:
SADD/SMEMBERS/SCARD/SINTER/SUNION/SREM - zset:
ZADD/ZRANGE/ZINCRBY/ZREM
学习小技巧:
命令不要“背列表”,用“我在项目里要存什么”来反推。比如营业状态就是一个单值 -> string 就够了
Part B:在 Java 中操作 Redis(关键点)
项目里用 Spring Data Redis,核心类是 RedisTemplate。你需要把它“跑起来”,然后知道怎么 opsForValue()。
1) 配置:application-dev.yml + application.yml
讲义给了配置方式(host/port/password/database)
重点:database 是 Redis 的库编号(默认 0-15)
2) 为什么要写 RedisConfiguration
Spring Boot 虽然能自动装配 RedisTemplate,但默认 key 序列化会让你在 Redis 里看到“奇怪格式”,所以把 key 序列化器改成 StringRedisSerializer
3) 会用 RedisTemplate 的“五类操作入口”
opsForValue / opsForHash / opsForList / opsForSet / opsForZSet
今天的店铺状态:用 opsForValue() 就行。
Part C:实战功能——店铺营业状态设置(今天主线)
1) 需求与接口
业务规则:营业中可下单;打烊中不可下单
接口一共 3 个:设置状态、管理端查询、用户端查询
存储方式:Redis string,约定 1/0
2) 代码落点
-
sky-server模块做 Redis 环境与接口开发 -
管理端 Controller:
com.sky.controller.admin.ShopControllerPUT /admin/shop/{status}:设置营业状态,key 固定"SHOP_STATUS"
-
用户端 Controller:
com.sky.controller.user.ShopControllerGET /user/shop/status:查询营业状态(同一个 key)
这块你可以把它当成一个超典型的“把状态放 Redis”的模板:常量 KEY + set/get + 日志 + Result 包装。
3) 测试路径
- 用
doc.html测接口(注意 token 过期要重新用 admin 登录拿) - 再看 Redis 中是否写入成功(确认 value 变了)
- 最后走前后端联调:启动 nginx,后台页面切换营业状态看效果