spring boot 整合redis 以一個熱門房產為例子
阿新 • • 發佈:2018-11-02
1.新增redis依賴 就是jedis
redis.clients
jedis
2.9.0
2.每次點選房屋詳情熱度加一 呼叫此方法
recommandService.increase(id);//每次點選房屋熱度加1
3.recommandService如何寫主要三個方法
//redis儲存熱門房產的key
private static final String HOT_HOUSE_KEY = “hot_house”;
@Autowired
private HouseService houseService;
/** * 每次點選房產詳情呼叫此方法房產熱度加1 * * @param id */ public void increase(Long id) { Jedis jedis = new Jedis("127.0.0.1"); //連線本地redis 用jedis 進行操作 jedis.zincrby(HOT_HOUSE_KEY, 1.0D, id + "");//該方法建立個列表 對應房屋id 熱度每次加1.0D 是有順序的 jedis.zremrangeByRank(HOT_HOUSE_KEY, 10, -1);//限制一下redis範圍 jedis.close(); } public List<Long> getHot() { Jedis jedis = new Jedis("127.0.0.1"); Set<String> idSet = jedis.zrevrange(HOT_HOUSE_KEY, 0, -1);//獲取列表中所有的房屋id List<Long> ids = idSet.stream().map(Long::parseLong).collect(Collectors.toList()); //轉換 long 型別 轉換方法是java8新特性 jedis.close(); return ids; } public List<House> getHotHouse(Integer size) { House query = new House(); List<Long> list=getHot(); list=list.subList(0,Math.min(list.size(),size)); if(list.isEmpty()){ return Lists.newArrayList(); } query.setIds(list); return houseService.queryAndSetImg(query, PageParams.bulid(size, 1)); } 有問題可以在下評論