zoukankan      html  css  js  c++  java
  • 结合redis缓存的方式,查询和展示分类信息

    package cn.itcast.travel.service.impl;

    import cn.itcast.travel.dao.CategoryDao;
    import cn.itcast.travel.dao.impl.CategoryDaoImpl;
    import cn.itcast.travel.domain.Category;
    import cn.itcast.travel.service.CategoryService;
    import cn.itcast.travel.util.JedisUtil;
    import redis.clients.jedis.Jedis;

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Set;

    /**
    * @author newcityman
    * @date 2019/10/6 - 18:33
    */
    public class CategoryServiceImpl implements CategoryService {
    private CategoryDao category = new CategoryDaoImpl();

    /**
    * 查询所有分类信息
    * @return
    */
    @Override
    public List<Category> findAll() {
    //1、从redis中查询
    //1.1、获取jedis客户端
    Jedis jedis = JedisUtil.getJedis();
    //1.2、可使用sortedset排序查询
    Set<String> categorys = jedis.zrange("category", 0, -1);
    //2、判断查询的集合是否为空
    List<Category> cs = null;
    if(categorys==null || categorys.size()==0){
    System.out.println("从数据库中访问数据。。。。");
    //3、如果是空,需要从数据库中查询,并且存入redis中
    //3.1、从数据库中查询
    cs = category.findAll();
    //3.2、将集合数据写到redis缓存中
    for (int i=0 ;i<cs.size();i++) {
    jedis.zadd("category",cs.get(i).getCid(),cs.get(i).getCname());
    }
    }else {
    //4、如果不为空,将set的数据存入到list中
    System.out.println("从redis中访问数据");
    cs= new ArrayList<Category>();
    for (String name : categorys) {
    Category category = new Category();
    category.setCname(name);
    cs.add(category);
    }
    }
    return cs;
    }
    }
  • 相关阅读:
    ribbon--eureka注册中心消费者
    eureka注册中心
    spring cloud简介
    Quartz定时任务
    ThreadLocal
    分布式单点登录SSO
    dubbo框架
    注册中心
    centos安装zookeeper及搭建集群
    7.19 基础数据结构选讲
  • 原文地址:https://www.cnblogs.com/newcityboy/p/11628837.html
Copyright © 2011-2022 走看看