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

全部回覆(5)
伊谢尔伦

根據ip,設備號碼或什麼唯一標識去判斷點讚的唯一性,更新用緩存比如redis,然後異步同步寫入到資料庫中,如果異步通知點讚人,就將點擊當成事件放到一個隊列中統一處理即可。

洪涛
  1. 鎖住點贊,按讚發送請求的時候,鎖住點讚按鈕,不讓用戶點擊

  2. 直接回饋用戶點贊,用戶對於這種很簡單的操作很多細節難以感知到,為了更佳的用戶體驗可以在點讚的時候,直接把web的樣式顯示+1,然後發送請求給後端。
    我們這邊一般的讚操作都是這樣:

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

這就是並發啊,不可能把類似這樣的情景全部去掉,引入緩存就好了,當然你可以適當的做點全局手段,每秒點擊量超過多少就給個警告,類似防一些爬蟲,單個IP單位時間內有點擊上限

伊谢尔伦

按讚後去掉按鈕

巴扎黑

控制點擊次數,次數過多,提醒

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板