首先,由於最近項目中用到緩存redis而且還有 查詢分頁的比較多,因此用到一個PageEntity的一個類,讓實體類需要用的分頁的時候來繼承就可以了。
用好這個類
你的排序更酸爽。
然後,how ?
1、 設計表的時候,必須有這個三個字段 create_time, status, status_time
2、 根據這三個字段過濾數據的場景是在是太多了
3、 若這三個字段滿足不了你查詢數據的需求,那麼很好辦,extends 這個 PageEntity
4、 這樣,就不需要寫那麼多奇奇怪怪的分頁查詢的sql了。
對於過多的查詢 我們可以這樣解決:將查詢的結果緩存起來。
緩存的Key,用 getAttrVal4ForRedisKey.getAttrVal4ForRedisKey,
這個是 HSet,裏面的結構是
total:xxx page1 List1 page2 List2 .....
緩存的有效時間是30 秒。
這樣做的好處不言而喻,很多頁面,用戶傻不拉幾的,不會輸入那麼多條件的,就是條件一樣,我們就沒有必要查詢多次了,是不是。。。。
下面是redis的寫法:
結合前面兩個,一來我們這樣設計表的話 就可以方便分頁和按條件查詢,並且很好地對查詢結果也緩存了,很好滴減少了重複查詢的次數