springboot 整合 Redis 实现订单超时处理
1 案例说明
实现订单超时的方式多种,本案例采用 redis 的方式实现订单超时,自动修改订单的状态。
案例过程说明:案例中档用户访问 addOrder 方法的时候,会首先执行添加一条订单信息,然后将订单的信息加入到 redis 中,
并设置订单信息的有效期为 10 秒,超过 10 秒之后,Redis 监听会发现过期的 key,我们从过期的 key 中解析出订单的 id,执行修
改功能,将订单的状态由” 正常”修改成” 失效”。
说明:该案例需要对 Redis,Linux,Mysql,Springboot,Mybatis 等有了解,使用成本较高。
2 工程结构
OrderRedisBean:订单表对应的 bean
KeyExprieListener:Redis 中 key 过期监听
RedisLitenerConfig:Redis 配置类
OrderMapper 和 OrderMapper.xml:mybatis 操作数据库
OrderRedisService:订单操作业务类
OrderController;订单操作控制层
TypeConversionUtil:将对象转化成 map 类
3 环境搭建