java - web应用中如何避免频繁点赞操作,比如点击又取消又点击如此循环?
巴扎黑
巴扎黑 2017-04-18 09:39:45
[Java讨论组]
巴扎黑
巴扎黑

全部回复(5)
伊谢尔伦

根据ip,设备号或者什么唯一标识去判断点赞的唯一性,更新用缓存比如redis,然后异步同步写入到数据库中,如果异步通知点赞人,就将点击当成事件放到一个队列中 统一处理即可。

PHP中文网
  1. 锁住点赞,点赞发送请求的时候,锁住点赞按钮,不让用户点击

  2. 直接回馈用户点赞,用户对于这种很简单的操作很多细节难以感知到,为了更佳的用户体验可以在点赞的时候,直接把web的样式显示+1,然后发送请求给后端。
    我们这边一般的点赞操作都是这样:

+=============+        +----------------------------------+
|   用户点赞   |  ----> |     直接回馈用户点赞成功          | 
|             |  <---- |             样式+1               |
+=============+        +----------------------------------+
                                      |                                
                                      |
                             异步发送点赞请求 -----------------------> 后端接收,数据库完成点赞
PHP中文网

这就是并发啊,不可能把类似这样的情景全部去掉,引入缓存就好了,当然你可以适当的做点全局手段,每秒点击量超过多少就给个警告,类似防一些爬虫,单个IP单位时间内有点击上限

伊谢尔伦

点赞后去掉按钮

巴扎黑

控制点击次数,次数过多,提醒

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号