首页 > 其他分享 >分类数据展示功能_缓存优化_分析

分类数据展示功能_缓存优化_分析

时间:2022-08-29 09:55:24浏览次数:55  
标签:category 缓存 展示 redis 查询 jedis sc 优化

分类数据展示功能_缓存优化_分析

对数据进行一个缓存优化,

  分析发现:分类的数据在每一次页面加载后会重新请求数据库来加载,对数据库的压力比较大,而且这数据不会经常发送变化,可使用redis来缓存这个数据

   

 

 

 

分类数据展示功能_缓存优化_代码实现

 

public class CategoryServiceImpl implements CategoryService {
private CategoryDao categoryDao = new CategoryDaoImpl();

@Override
public List<Category> finAll() {
//从redis中查询
//获取jedis客户端
Jedis jedis = JedisUtil.getJedis();
//可以使用sortedset排序
Set<String> category = jedis.zrange("category", 0, -1);
//判断查询的集合是否为空
List<Category> sc = null;
if (category == null || category.size() == 0) {
System.out.println("从数据库查询...");
//如果为空吗,需要从数据库查询,在将数据存入redis
//从数据库查询
sc = categoryDao.finAll();
//将集合数据存储到redis中的一个 category的key
for (int i = 0; i < sc.size(); i++) {
jedis.zadd("category",sc.get(i).getCid(),sc.get(i).getCname());
}
}else {
System.out.println("从redis中查询...");
//如果不为空,直接返回
sc = new ArrayList<Category>();
for (String name : category) {
Category category1 = new Category();
category1.setCname(name);
sc.add(category1);
}
}

return sc;
}
}

 

 

 

 

 

标签:category,缓存,展示,redis,查询,jedis,sc,优化
From: https://www.cnblogs.com/ssr1/p/16634878.html

相关文章

  • MySQL性能优化
    安装连接        查看当前系统的资源使用情况top查看系统IO状态可以查看当前哪个磁盘设备总体的读写流量大小iostat-d-x1pidstat-d1......
  • 前后端展示时间字段
    <vxe-table-columnfield="plan_shipment_date":title="$t('IncomingInspection.要求交货时间')"min-width="100":formatter="['formatDate','yyyy-MM-ddHH:mm:ss......
  • 分类数据展示功能_实现_后台代码、分类数据展示功能_实现_前台代码
    分类数据展示功能_实现_后台代码CategoryServlet@WebServlet("/categoryServlet")publicclassCategoryServletextendsBaseServlet{/***查询所以的方法......
  • ASP.NET Core 6框架揭秘实例演示[34]:缓存整个响应内容
    我们利用ASP.NET开发的大部分API都是为了对外提供资源,对于不易变化的资源内容,针对某个维度对其实施缓存可以很好地提供应用的性能。《内存缓存与分布式缓存的使用》介绍的......
  • UserServlet页面抽取、分类数据展示功能_分析
    UserServlet页面抽取  packagecn.itcast.travel.web.servlet;importcn.itcast.travel.domain.ResultInfo;importcn.itcast.travel.domain.User;importcn.itcast.......
  • 流行的机器学习优化算法
    流行的机器学习优化算法Photoby康尼施耐德on不飞溅机器学习中的优化是在给定一组输入的情况下找到正确预测的迭代过程。在每次迭代中,目标是减少预测值与实际值之......
  • 日常问题: SQL优化
    日常开发中,除了开辟新项目,业务需求开发,一般还要做负责系统的日常运维。比如线上告警了,出bug了,必须及时修复。这天,运维反馈mysqlcpu告警了,然后抓了该时间节点的慢sql日志......
  • get 和 post 请求在缓存方面的区别
    get请求类似于查找的过程,用户获取数据,可以不用每次都与数据库连接,所以可以使用缓存。post不同,post做的一般是修改和删除的工作,所以必须与数据库交互,所以不能使用缓存......
  • Vue3.0 编译做了哪些优化
    a.生成BlocktreeVue.js2.x的数据更新并触发重新渲染的粒度是组件级的,单个组件内部需要遍历该组件的整个vnode树。在2.0里,渲染效率的快慢与组件大小成正相关:组......
  • 一文搞懂什么是缓存穿透、缓存击穿、缓存雪崩!
    什么是缓存穿透、缓存击穿、缓存雪崩?面试的时候关于Redis问得最多的问题,可能就是:请你简单说说什么是缓存穿透、缓存击穿、缓存雪崩?由于这三种说法的名字很相近,很多同学经......