mysql - 評(píng)論系統(tǒng)用戶數(shù)據(jù)如何關(guān)聯(lián)
問(wèn)題描述
要做一個(gè)評(píng)論系統(tǒng),但是要能夠獨(dú)立,所以在儲(chǔ)存評(píng)論的時(shí)候只保存了用戶的基礎(chǔ)數(shù)據(jù)(頭像,昵稱等),但是發(fā)現(xiàn)如果用戶一旦被修改或刪除我這邊根本沒(méi)法判斷,還是顯示之前的數(shù)據(jù),這應(yīng)該如何同步,嘗試過(guò)保存id,但是每次要訪問(wèn)另一個(gè)服務(wù)去獲取對(duì)應(yīng)的用戶數(shù)據(jù)感覺(jué)效率不行啊
問(wèn)題解答
回答1:評(píng)論數(shù)據(jù)也可以做緩存讀取。。。。
回答2:可以把你的數(shù)據(jù)庫(kù)做個(gè)主從復(fù)制,評(píng)論系統(tǒng)的庫(kù)復(fù)制你用戶所在的那個(gè)庫(kù)。而且從你的描述中看到好像只需要獲取用戶數(shù)據(jù),那就僅復(fù)制用戶表就行了。不過(guò)這樣評(píng)論系統(tǒng)庫(kù)里就保存了用戶表的整個(gè)數(shù)據(jù)了,不再是基礎(chǔ)數(shù)據(jù)了(頭像,昵稱等)。
回答3:還是使用id進(jìn)行關(guān)聯(lián),用戶修改了頭像、昵稱或者刪除賬號(hào),你先在前端進(jìn)行快速的反饋,再進(jìn)行后端的邏輯處理,比如用戶的昵稱是直接從客戶端存儲(chǔ)讀取的,一旦用戶修改后,那么先直接操作客戶端的存儲(chǔ),然后后臺(tái)再進(jìn)行一系列邏輯去存儲(chǔ)和修改數(shù)據(jù)庫(kù),最后如果一系列都順利,那么在前端就什么也不發(fā)生,如果出錯(cuò)(畢竟概率?。敲淳驮偻ㄖ脩粽f(shuō)上次的修改出現(xiàn)了錯(cuò)誤沒(méi)有生效(至于怎么通知,就有很多方式了,可以是下一次請(qǐng)求時(shí),可以是前端有一個(gè)通知的輪詢檢測(cè)到等等)。
這樣在用戶看來(lái)就不會(huì)太沒(méi)效率。
相關(guān)文章:
1. javascript - ionic1的插件如何遷移到ionic2的項(xiàng)目中2. java - 如何在Fragment中調(diào)用Activity的onNewIntent?3. javascript - h5上的手機(jī)號(hào)默認(rèn)沒(méi)有識(shí)別4. mysql里的大表用mycat做水平拆分,是不是要先手動(dòng)分好,再配置mycat5. css - 關(guān)于input標(biāo)簽disabled問(wèn)題6. python - 獲取到的數(shù)據(jù)生成新的mysql表7. 怎么用css截取字符?8. window下mysql中文亂碼怎么解決??9. javascript - jquery hide()方法無(wú)效10. python的文件讀寫問(wèn)題?
