redis實現點讚功能參考

2021-10-19 13:34:08 字數 1371 閱讀 9844

public

void

likearticle

(long articleid, long likeduserid, long likedpostid)

,likeduserid:{},likedpostid:{}"

, articleid, likeduserid, likedpostid)

;synchronized

(this

),likeduserid:{},likedpostid:{}"

, articleid, likeduserid, likedpostid);}

}

public

void

unlikearticle

(long articleid, long likeduserid, long likedpostid)

,likeduserid:{},likedpostid:{}"

, articleid, likeduserid, likedpostid)

;//1.使用者總點讚數-1

synchronized

(this

) logger.

info

("取消點讚資料存入redis結束,articleid:{},likeduserid:{},likedpostid:{}"

, articleid, likeduserid, likedpostid)

;}

更新

@scheduled

(cron =

"0 0 0/1 * * ? "

)public

void

redisdatatomysql()

,開始執行redis資料持久化到mysql任務"

, localdatetime.

now().

format

(formatter));

//1.更新文章總的點讚數

maparticlecountmap = redistemplate.

opsforhash()

.entries

(article_liked_user_key)

;for

(map.entry

entry : articlecountmap.

entryset()

) logger.

info

("time:{},結束執行redis資料持久化到mysql任務"

, localdatetime.

now().

format

(formatter));

}

Redis實現點讚功能模組

之前看了一篇文章,講redis的應用場景,其中乙個應用場景就是實現點讚功能,紙上得來恐覺淺,必須實戰一波 使用者某篇文章的點讚數 使用hashmap資料結構,hashmap中的key為articleid,value為set,set中的值為使用者id,即hashmap 使用者總的點讚數 使用hashm...

點讚功能與redis

摘要 前言點讚其實是乙個很有意思的功能。基本的設計思路有大致兩種,一種自然是用mysql等資料庫直接落地儲存,另外一種就是利用點讚的業務特徵來扔到redis 或memcache 中,然後離線刷回mysql等。直接寫入mysql直接寫入mysql是最簡單的做法。做兩個表即可,1 post like記錄...

點讚功能與redis

摘要 前言點讚其實是乙個很有意思的功能。基本的設計思路有大致兩種,一種自然是用mysql等資料庫直接落地儲存,另外一種就是利用點讚的業務特徵來扔到redis 或memcache 中,然後離線刷回mysql等。直接寫入mysql直接寫入mysql是最簡單的做法。做兩個表即可,1 post like記錄...