新聞中心
??為了更好的用戶體驗,很多網(wǎng)站的開發(fā)者希望通過控制用戶的評論權限來維護網(wǎng)站的秩序,實現(xiàn)此功能用到Redis服務更為方便、高效,這里給出一種可行的方案,來實現(xiàn)用戶評論權限的控制。

??在Redis中創(chuàng)建一個集合,其中存放各評論模塊ID和對應觸發(fā)冷卻時間的鍵值對,例如:
SADD SetCommentCooldown 1 1500
SADD SetCommentCooldown 2 1800
SADD SetCommentCooldown 3 3000
其中1,2,3代表不同模塊,1500,1800,3000代表不同評論觸發(fā)冷卻時間,單位為秒。
??緊接著,在Redis中創(chuàng)建一個哈希表,以存儲所有模塊上次評論時間スト。表中字段包括(模塊ID,評論時間),例如:
HSET HashCommentTime 1,1530232686
HSET HashCommentTime 2,1530233286
HSET HashCommentTime 3,1530233886
其中1530232686,1530233286,1530233886代表模塊1,2,3上次評論的時間戳。
??根據(jù)以上數(shù)據(jù),我們就可以通過代碼實現(xiàn)控制用戶的評論權限了。我們在服務端驗證模塊ID,并查看上次評論時間,如果在冷卻時間范圍內(nèi)則拒絕用戶評論,更新本次評論時間戳,例如:
//獲取模塊冷卻時間
int cooldownTime = Integer.valueOf(jedis.get("SetCommentCooldown:" + moduleId);
//獲取上次評論時間
Long lastTimeStamp = jedis.hashGet("HashCommentTime", moduleId);
//判斷是否超過冷卻時間
if (System.currentTimeMillis() - lastTimeStamp
//拒絕評論
system.out.println("Your comment has been rejected due to cooldown time");
}else{
//更新本次評論時間戳
jedis.hashSet("HashCommentTime", moduleId,System.currentTimeMillis());
//允許用戶留言
system.out.println("Leave a comment success");
}
??通過Redis服務,實現(xiàn)在服務端對用戶的評論權限進行控制,可以有效避免網(wǎng)站被某些用戶惡意、大量發(fā)表評論,從而維護良好的秩序,提升用戶體驗。
成都網(wǎng)站建設選創(chuàng)新互聯(lián)(?:028-86922220),專業(yè)從事成都網(wǎng)站制作設計,高端小程序APP定制開發(fā),成都網(wǎng)絡營銷推廣等一站式服務。
文章標題:Redis控制用戶評論權限更好的用戶體驗(redis限制用戶評論數(shù))
標題路徑:http://m.5511xx.com/article/coigsgh.html


咨詢
建站咨詢
