视频数据结构选型沙盘

从“能存”走到“存得对”,尤其要看清事实源边界。

已审片 0 / 7
制片任务:

先选一个业务镜头,再挑你会采用的主模型。答错没关系,右侧会把键名、命令、复杂度与边界摊开给你看。

模型剪辑台

选择一个主答案
场景编号

这道题的“主模型”是什么?不要只看读写快慢,还要想:丢了以后能不能重建。

混合架构总片:一条请求不是只能选一个盒子

① 事实源

关系型数据库 / 持久存储
  • 收藏、完整观看历史、视频元数据
  • 先提交业务真相,再更新缓存或索引
  • Redis 丢失时可据此重建

② 在线服务层

Redis:缓存 + 索引 + 状态
  • Hash:视频详情缓存
  • Set / ZSet:去重、近期索引、排行
  • String:短窗口计数器

③ 异步事件轨

Streams + 消费者组
  • 观看事件进入流,由消费者确认
  • 消费者可能重试,落库逻辑必须幂等
  • 监控待处理项,别把 PEL 当黑洞

关键剪辑原则:收藏这类持久业务记录,不能因为 Redis 很快就只写 Redis。稳妥链路通常是“事实源提交成功 → 缓存失效或更新”;事件流则要把消费确认、重试与幂等一起设计,不能只写一句 XADD 就收工。

可追溯的业务真相 可重建的在线数据 需要确认与幂等的事件

提示:这里给出的是常见工程基线。实际方案还要结合数据规模、容灾目标、热点分布与一致性要求。