我理解的你是想要做緩存,減小數據庫壓力。
這個問題可以參考很多緩存框架的底層實現原理,將數據從數據庫查出來之后先用map存起來,當然如果對同步有要求的話一般選用concurrentMap。key用數據的主鍵或者你自己定義一個保證在map中唯一,value就是數據庫查詢出來的值。
這樣當你再次請求的時候直接先從這個map里找,如果有的話就返回,沒有的話再從數據庫查詢,查出來了再放進map就好了。
如果要想做的再好一點可以加個緩存失效時間,在外部配置好了緩存失效時間之后,那么我們存map的時候就需要把當前時間也放進去,或者再啟一個map用來存放key和時間的對應關系。每次查詢的時候先看看時間有沒有過期,過期了就從兩個map中刪掉數據再查數據庫。
當然你如果還想弄得高級一點的話,可以查查lru緩存失效方案,用來做熱點數據緩存。