如何实现广告弹窗触达频率的控制?
今天我们聊聊实际工作中遇到的一个问题:
产品提出想在我们的产品的首页 做个弹窗广告 ,但是又不希望用户每次进来都给用户弹窗, 每个用户每天进来只弹一次就好了 。
这个如何实现?
方法一(暴力破解)
或许有些人会觉得这个挺简单的,这个问题抽象出来不就是要记录用户的行为么,这个将用户的每一次行为都存在redis或数据库中,每次访问的时候都查一下数据库或redis判断一下,有没有。
以redis举例, 如果用户今天访问过一次,就在Redis里面设置一个以用户为维度的key。
真爽,这么简单,然后我们就高高兴兴的玩去了,突然某一天,运维找到你,告诉你Redis服务被挤爆了,内存不足。什么鬼?你抬起脑袋,暗暗一想,你们的用户有 1个亿用户 。
打算一个用户占用14个字节,14B*100000000/1024/1024=1335MB,我去,这么一个小功能,都占用至少1G的内存了。