鍍金池/ 問答/HTML5  數(shù)據(jù)庫  HTML/ 用戶的點(diǎn)贊功能設(shè)計(jì)問題

用戶的點(diǎn)贊功能設(shè)計(jì)問題

剛才試著寫了一個(gè)點(diǎn)贊功能,就像社交網(wǎng)站那樣的點(diǎn)贊功能,后臺(tái)用node,當(dāng)用戶點(diǎn)贊某個(gè)圖片后,會(huì)把用戶id添加到點(diǎn)贊表中,每次用戶點(diǎn)擊會(huì)去后臺(tái)查點(diǎn)贊表中是否有此用戶id,但是像微信、微博平臺(tái)有的點(diǎn)贊數(shù)大到上萬幾十萬,不知道這些功能是不是像我這樣設(shè)計(jì)的或者有沒有更好的方法?

回答
編輯回答
淡墨

不完全一樣但是原理相同,我已經(jīng)回答過一次了,去那邊看看吧:https://segmentfault.com/q/10...

2017年11月19日 15:08
編輯回答
厭遇

首先我不知道像微信、微博這樣的大平臺(tái)是如何設(shè)計(jì)的,其次我也不希望我的答案誤導(dǎo)你。剛好最近手頭上有做類似功能,所以就分享下我自己的解決辦法。
考慮到用戶點(diǎn)贊、取消贊以及用戶查看信息列表時(shí)可以看到自己是否對(duì)某信息點(diǎn)過贊,以及發(fā)信息的人能夠看到有多少人對(duì)自己發(fā)的信息進(jìn)行了點(diǎn)贊。所以綜合考慮把點(diǎn)贊這個(gè)功能進(jìn)行了分庫分表設(shè)計(jì),分庫就不說了,分表是以信息ID為緯度進(jìn)行的水平分表。然后用戶每次的點(diǎn)贊和取消贊的行為加入到MQ中,如果30分鐘內(nèi)用戶停止了點(diǎn)贊和取消贊的行為,就將最終結(jié)果合并后寫入數(shù)據(jù)庫。
這只是個(gè)人這么做的。也希望更專業(yè)的人給你更好的答案。

2018年1月10日 18:23