1、配置redis整合spring的環境
2、相關實體類序列化
3、編寫serviceImpl方法
使用redis中的String結構實現 帶緩存的分頁 key-value
思路:先從緩存獲取數據, 如果有, 直接返回redis中的數據
如果沒有, 再到數據庫查詢, 把查詢到數據, 緩存一份到redis, 便於下一次查找
第一頁的house信息. house_1 第二頁的house信息, house_2 house_3
分頁查詢的方法:
@Override public Page<House> findByPage(int pageIndex, int pageSize) throws Exception { //自定義key值為house+當前頁碼 String key = "house_"+pageIndex; //如果redis緩存中存在 if(redisTemplate.hasKey(key)) { return (Page<House>)redisTemplate.opsForValue().get(key); } //如果不存在 Page<House> page = new Page<>(pageIndex,pageSize); getBaseMapper().selectPage(page, null); //緩存一份到redis,時間為10天 redisTemplate.opsForValue().set(key, page,10,TimeUnit.DAYS); return page; }
測試:
第一次查詢第一頁,查看控制台編寫sql語句
第二次查詢第一頁,查詢出數據,控制台中沒有sql語句(查看redis服務器中是否存在key值為house+index 的值)
Redis 緩存, 提高查詢效率, 執行增,刪,改, 一定要清空redis中(增刪改的)緩存的數據