国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

mysql - 請教一個Java做數據庫緩存的問題

瀏覽:131日期:2023-11-12 16:00:37

問題描述

現在在負責學校的一個圖書館個人寫作平臺,基本的業務模型已經完成了,但是項目在高并發環境下還沒有做任何的優化。

每個學生在閱讀完一本書后都可以寫書評或者做筆記,書評是公開的,筆記是私有的。按照現在的做法每個學生操作都訪問數據庫去查詢,這樣以后肯定會有性能瓶頸。

我大概看了一下ehcache的相關教程但沒有一個好的解決方案,主要是無法判斷緩存是否失效。比如將高頻學生的一定數量筆記都放入到緩存中間去的話,如果設置一個特定的超時時間5min,但是如果剛好在這5min之內又新添加或者修改了一篇筆記的話應該怎么辦么?

比如在mybatis中對應一條sql語句select * from comments condition,我可以通過ehcache建立一個內存緩存,但是如果comments新添加或者更新了一條記錄,怎么能優雅的更新上次在ehcache中添加的緩存。

各位網友是否能夠建議一下相關的解決方案?thanks :-)

問題解答

回答1:

既然是緩存,那就一定對數據實效性有容忍度,否則要嚴格實時的數據,就只能訪問數據庫查詢了。

根據題主描述的業務場景來看,普遍的解決方案是通過外置索引來維護圖書和書評的關系(當然索引也不是完全實時的),再通過kv緩存(redis,ehcache,map等等)來緩存書評的具體內容。在數據更新(update)時,通常情況先更新數據庫,然后更新緩存,索引不需要更新。在數據更新(insert)時,需要在update基礎上,再增加相應的關系到索引中。

簡單的外置索引,可以在數據庫中,增加一張(圖書-書評)關系表,建好索引,在查詢書評時先查詢(分頁查詢)關系表,再通過書評主鍵,查詢具體書評信息(緩存加在單條書評信息上),建議分兩次查詢并在內存中組裝數據,不要使用連表查詢(影響數據庫性能)。關系表數據不需要建立緩存,只需要增加書評信息的緩存即可。

標簽: java
相關文章:
主站蜘蛛池模板: 国产在线视频精品视频免费看 | 国产成人看片免费视频观看 | 日本手机在线视频 | 国产精品三级手机在线观看 | 亚洲一区二区精品 | 国产一及片 | 国产精品免费精品自在线观看 | 亚洲系列在线 | 亚州久久 | 99视频网站 | 波多野结衣中文一区二区免费 | 精品视频h| 在线中文字幕日韩 | 欧美一级毛片一级 | 精品欧美成人bd高清在线观看 | 996热这里有精品青青草原 | 欧美a在线 | 欧美在线观看一区二区 | 国产亚洲精品久久久久91网站 | 一区二区不卡在线 | 欧美在线黄 | 撸天堂 | 日日摸天天摸狠狠摸视频 | 免费人成观看在线网 | 国产大乳孕妇喷奶水在线观看 | 欧美成人日韩 | 国产大尺度福利视频在线观看 | 日本欧美一级aaaaa毛片 | 香港aa三级久久三级 | 欧美成人影院免费观 | 在线亚洲观看 | 亚洲一区在线视频观看 | 真实国产普通话对白乱子子伦视频 | 91亚洲国产成人久久精品网站 | 在线看片欧美 | 精品视频在线免费看 | 日日狠狠久久偷偷四色综合免费 | 亚洲激情欧美 | 欧美国产91| 国产无套视频在线观看香蕉 | 中文字幕日韩精品在线 |