1. 程式人生 > 實用技巧 >Redis快取例項3:Sortedset型別

Redis快取例項3:Sortedset型別

 1 @Override
 2 public List<Category> findAll() {
 3     //1.從redis中查詢
 4     //1.1獲取jedis客戶端
 5     Jedis jedis = JedisUtil.getJedis();
 6     //1.2可使用sortedset排序查詢
 7     Set<String> categorys = jedis.zrange("category", 0, -1);
 8     List<Category> cs = null;
 9     //2.判斷查詢的集合是否為空
10     if
(categorys == null || categorys.size() == 0) { 11 12 System.out.println("從資料庫查詢...."); 13 //3.如果為空,需要從資料庫查詢,在將資料存入redis 14 //3.1 從資料庫查詢 15 cs = categoryDao.findAll(); 16 //3.2 將集合資料儲存到redis中的 category的key 17 for (int i = 0; i < cs.size(); i++) { 18 19 jedis.zadd("category", cs.get(i).getCid(), cs.get(i).getCname());
20 } 21 } else { 22 System.out.println("從redis中查詢....."); 23 24 //4.如果不為空,將set的資料存入list 25 cs = new ArrayList<Category>(); 26 for (String name : categorys) { 27 Category category = new Category(); 28 category.setCname(name); 29 cs.add(category);
30 31 } 32 } 33 34 return cs; 35 }