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

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

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

瀏覽:134日期: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精品欧美一区二区三区 | 思99re久久这里只有精品首页 | 欧美综合在线视频 | 国产成人91精品 | 欧美亚洲国产片在线观看 | 成人亚洲欧美 | 国产95在线 | 亚洲 | 手机看片毛片 | 成人合集大片bd高清在线观看 | 欧美日韩视频一区三区二区 | 亚洲日韩中文字幕 | 中日毛片| 亚洲国产高清在线 | 亚洲欧美久久精品 | 亚洲二区在线观看 | 亚洲精品久久久久久久网站 | 手机国产日韩高清免费看片 | 综合在线视频 | 国产精品欧美视频另类专区 | 泷泽萝拉亚洲精品中文字幕 | 日本免费人做人一区在线观看 | 精品在线一区 | 国产三级视频在线 | 国产精品成人在线播放 | 欧美最猛性xxxxx亚洲精品 | 成人a视频片在线观看免费 成人a视频在线观看 | 视频一区二区三区在线 | 国产一级视频播放 | 亚洲欧美一区二区三区久本道 | a级一级毛片 | 国产亚洲福利精品一区二区 | 玖玖国产在线 | 亚洲第五色综合网啪啪 | 国产在线一区二区三区欧美 | 日本道色 | 国产一级精品高清一级毛片 | 97在线播放视频 | 欧洲亚洲综合一区二区三区 | 亚洲午夜a | 久久免费精品一区二区 | 国产激情久久久久久影院 |