如题:如何设计一个点赞统计的功能 ,每天每人只能点击一次,没有登陆状态
我是通过cookie的思路 控制每人每天只能点击一次
如果缓存被清空了,就会有bug 访客会再次重新点击 如何设计?
如果控制ip 就需要存入数据库,是否有其它最优方案?
11 回答
慕的地8271018
TA贡献1796条经验 获得超4个赞
前提:没有登陆状态
如你所说,通过 cookie
控制,是有缺陷的。
建议:
这种时效性的操作,可以用 redis
一类的缓存来做,没必要持久化存储。
当然,后端存储,无论是否持久化,你都是需要客户端的凭证的,也就是 IP
。
方案:redis
存储当天点赞的 IP
集合,如果在集合里,则限制点赞。
每天零点,清空集合,重新记录即可。
参考:redis-set
幕布斯6054654
TA贡献1876条经验 获得超7个赞
你这样想哈,要知道这个人(今天)有没有点过赞,那就肯定要一个东西来存储状态,
这个状态可以放前端cookie存,可以放后端数据库存,再高深一点就是借助其他同步状态存储。
那么你这个点赞状态有没有和其他状态是同步的呢?比如说点完赞本用户今天头像就多了个啥标志之类的,就可以依靠这个标志来判断是否点赞,这就是借助了标志存储状态了。
反正必须要一个东西来存啊。
- 11 回答
- 0 关注
- 1279 浏览
添加回答
举报
0/150
提交
取消