搜尋

首頁  >  問答  >  主體

java - web应用中如何避免频繁点赞操作,比如点击又取消又点击如此循环?

巴扎黑巴扎黑2769 天前1050

全部回覆(5)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:41:45

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

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 09:41:45

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

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

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

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 09:41:45

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

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:41:45

    按讚後去掉按鈕

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:41:45

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

    回覆
    0
  • 取消回覆