18.1 掌握文章管理
18.1.1 評論功能
18.1.1.1 掌握評論表設計
18.1.1.2 掌握評論數量+1
實現思路:
每當有用戶評論,使用ajax添加一條數據到評論表,入庫成功之后,在redis中把緩存的評論數自增1,並把值返回給前端頁面進行展示
18.1.2 點贊功能
18.1.2.1 掌握點贊表設計
18.1.2.2 掌握點贊數量+1,以及前端無刷新效果
實現思路:
用戶點擊點贊按鈕,使用ajax添加一條數據到點贊表,入庫成功之后,在redis中把緩存的點贊數自增1,為防止一個用戶短時間內多次點贊,在入庫之前先根據當前用戶id查詢一下redis中是否緩存有用戶的信息,如果有則直接返回,如果沒有則添加數據庫,並把用戶信息記錄下來,過期時間隨具體需求設置,操作完成后把值返回給前端頁面進行展示
18.1.3 回復功能
18.1.3.1 掌握回復表設計
18.1.3.2 掌握評論回復之間的關聯關系
由於我們拆分了評論和回復,那么評論表就不再需要目標用戶字段了,因為評論均是用戶對文章的評論,評論表的設計更佳簡潔了。
回復表添加了一個comment_id字段來表示該回復掛在的評論id,這樣設計也是出於性能方面的考慮,我們可以直接通過評論id一次性的找出該評論下的所有回復,然后通過程序來編排回復的顯示結構。 通過適當的冗余來提高性能也是常用的優化手段之一。
18.1.4 收藏功能 18.1.4.1 掌握收藏表設計
18.1.4.2 掌握收藏數量+1
實現思路:
用戶點擊收藏,使用ajax調用收藏接口,使用redis的set去存儲用戶收藏文章的信息,如果存儲成功,則把數據添加到數據庫,反之則把數據從redis中清除掉,並把數據庫中的數據也清楚點,同時修改收藏的數量
18.1.4.3 掌握我的收藏記錄 18.1.5 排行榜 18.1.5.1 掌握通過MySQL實現排行榜 18.1.5.2 掌握使用Redis實現排行榜