色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

瀏覽:126日期: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
相關文章:
主站蜘蛛池模板: 国产精品黄 | 国产在线拍揄自揄视精品不卡 | 亚洲三级在线免费观看 | 久久精品久久精品久久 | 男人操女人逼逼视频 | 浮力影院网站午夜 | 精品亚洲一区二区三区 | 国内自拍第100页 | 国产a级精品特黄毛片 | 国产欧美日韩另类 | 国产欧美一区视频在线观看 | 韩国毛片一级 | 国产女人在线观看 | 66精品| 欧美成人一级 | 国产日韩精品一区二区三区 | 欧日韩美香蕉在线观看 | 欧美 日韩 国产 在线 | 人碰人碰人成人免费视频 | 免费va国产高清不卡大片 | a级日韩乱理伦片在线观看 a级特黄毛片免费观看 | 一级欧美毛片成人 | 蜜桃88av| 精品久久九九 | 9191在线亚洲精品 | 一本色道久久综合亚洲精品 | 免费一级视频在线播放 | 日本男人的天堂 | 亚洲网视频 | 在线观看精品国产 | 国产伦理久久精品久久久久 | 精品久久久久久久久中文字幕 | 男人透女人超爽视频免费 | 亚洲日韩中文字幕天堂不卡 | 日韩免费一级a毛片在线播放一级 | 国产精品自拍视频 | 欧洲亚洲一区二区三区 | 国产久草在线 | 欧美成人一级视频 | 国产在线观看网址在线视频 | 欧美同性videos在线可播放 |