繼續(xù)探討點贊功能模塊設計
前幾天我們設計了點贊模塊的模塊,大致思路就是:
用戶點贊只壳,首先緩存到redis中進行保存饵筑,redis中既要保存點贊總數(shù),還要保存點贊記錄雷恃。然后定時執(zhí)行redis數(shù)據(jù)到數(shù)據(jù)庫中疆股。
但是,今天在資訊類項目的時候倒槐,遇到了一個問題旬痹。那就是用戶點贊完之后,用戶重新刷新界面讨越,那這個界面點贊按鈕應該高亮才可以两残。怎么實現(xiàn)?
方案設計
我們要保留住用戶點贊行為把跨,也要保留住該用戶對某個文章進行了點贊人弓。如果這個用戶已經對這個文章點贊過,那再進入這個界面的時候着逐,應該點贊高亮才對崔赌。所以意蛀,我們在用戶點贊完成之后,需要把對這個文章的點贊記錄到redis中健芭。然后县钥,用戶點擊文章詳情的時候,首先從redis中進行獲取慈迈,如果有就高亮若贮,如果沒有,就查詢數(shù)據(jù)庫點贊記錄吩翻。當然兜看,我們需要給這個文章的這個點贊狀態(tài)進行過期時間限制。
key: authorId : articleId value: 1or 0
這樣的話狭瞎,用戶在點擊文章詳情的話细移,我們可以從redis中過濾出來,這個用戶有沒有對這個文章進行點贊過熊锭。如果為1說明點贊弧轧,高亮。如果為0說明沒有點贊碗殷。
今天就對昨天的點贊功能遺漏的問題進行了探討精绎,如果大家還有什么問題,可以留言分享锌妻。