广告创意轮播实现:从 Redis 到 HBase 的方案详解
在广告投放中,创意轮播是一种常见策略,通过让同一广告单元下的多个创意按顺序或比例交替展示,帮助广告主对比不同创意的效果(如点击率、转化率),优化投放策略。本文将详细介绍基于 Redis 和 HBase 的创意轮播实现方案,分析其适用场景与优化思路。
创意轮播的核心需求
创意轮播的核心目标是让多个创意 “雨露均沾”,确保各创意的曝光量尽可能均衡。具体需求包括:
- 顺序轮播:按固定顺序循环展示创意(如创意 A→创意 B→创意 C→创意 A…)。
- 状态记录:记住用户最后一次看到的创意,确保下次展示下一个。
- 高并发支持:在百万级 QPS 的广告请求中,快速判断并返回下一个创意。
- 数据持久化:长期保存用户的创意展示记录,支持历史数据分析。
基于 Redis 的创意轮播实现(高并发场景)
Redis 凭借内存存储的高效性,适合作为创意轮播的实时存储方案,尤其适用于对响应速度要求高的场景(如信息流广告、开屏广告)。
数据结构设计
- Key:采用
用户ID:广告单元ID(uid:dealId)的格式,唯一标识 “用户 - 广告单元” 组合。 - Value:使用 Redis List 存储用户对该广告单元的创意曝光记录,按时间倒序排列(最新记录在最前),或仅存储最后一次曝光的创意 ID(简化版)。