分类数据显示功能_缓存优化
分类数据显示功能_缓存优化
问题:如何使用redis按照分类数据的id进行排序存储
*数据库表有cid和cname两个字段
1.Service层代码如下:
public List<Category> findAll() {//1.从redis中查询Jedis jedis = JedisUtil.getJedis();//可以使用sortedset排序查询//查询sortedset中的分数(cid)和(cname)Set<Tuple> travel_category = jedis.zrangeWithScores("travel_category", 0, -1);List<Category> all = null;//2.判断查询的集合是否为空if (travel_category == null || travel_category.size() == 0) {//从数据库中查询//3.如果为空是第一次查询,需从数据库查询,并将查询结果放入redis中all = categoryDao.findAll();for (Category category : all) {//将集合数据存储到redisjedis.zadd("travel_category", category.getCid(), category.getCname());}} else {//从缓存中查询//4.如果不为空,将set的数据存入listall = new ArrayList<Category>();for (Tuple tuple : travel_category) {Category category = new Category();category.setCname(tuple.getElement());//设置cnamecategory.setCid((int) tuple.getScore());//设置cidall.add(category);}}return all;}
2.JedisUtil:
*** Jedis工具类*/
public final class JedisUtil {private static JedisPool jedisPool;static {//读取配置文件InputStream is = JedisPool.class.getClassLoader().getResourceAsStream("jedis.properties");//创建Properties对象Properties pro = new Properties();//关联文件try {pro.load(is);} catch (IOException e) {e.printStackTrace();}//获取数据,设置到JedisPoolConfig中JedisPoolConfig config = new JedisPoolConfig();config.setMaxTotal(Integer.parseInt(pro.getProperty("maxTotal")));config.setMaxIdle(Integer.parseInt(pro.getProperty("maxIdle")));//初始化JedisPooljedisPool = new JedisPool(config, pro.getProperty("host"), Integer.parseInt(pro.getProperty("port")));}/*** 获取连接方法*/public static Jedis getJedis() {return jedisPool.getResource();}/*** 关闭Jedis*/public static void close(Jedis jedis) {if (jedis != null) {jedis.close();}}
}
3.jedis.properties
host=127.0.0.1
port=6379
maxTotal=50
maxIdle=10
分类数据显示功能_缓存优化相关推荐
- mysql做十亿条数据查询_数据库优化:mysql数据库单机数十亿数据查询设计
很久没写文章,是不是想着写点什么东西,分享下我的数据库设计思路,主要是针对单机数十亿及以上数据查询优化技巧. 如果只是简单的查询,没有频繁的写入操作,对查询速度不要求在毫秒级别,就不需要什么大型的数据 ...
- JavaWeb黑马旅游网-学习笔记05【分类数据展示功能】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
- vue获取商品数据接口_基于 request cache 请求缓存技术优化批量商品数据查询接口...
Hystrix command 执行时 8 大步骤第三步,就是检查 Request cache 是否有缓存. 首先,有一个概念,叫做 Request Context 请求上下文,一般来说,在一个 we ...
- 19.2、Javaweb案例_Servlet代码抽取优化分页数据redis缓存优化分页数据展示
优化Servlet 目的 减少Servlet的数量,现在是一个功能一个Servlet,将其优化为一个模块一个Servlet,相当于在数据库中一张表对应一个Servlet,在Servlet中提供不同的方 ...
- redis一般缓存什么样数据_门户数据展示_Redis缓存数据
学习主题:门户数据展示_Redis缓存数据 一.Redis_3主3从集群环境搭建 谈单你对读写分离和主从同步的理解 读写分离:Master负责写数据的操作,salve负责读数据的操作 主从同步:sal ...
- Web Api 内部数据思考 和 利用http缓存优化 Api
在上篇<Web Api 端点设计 与 Oauth>后,接着我们思考Web Api 的内部数据: 其他文章:<API接口安全加强设计方法> 第一 实际使用应该返回怎样的数据 ? ...
- 索引使用的限制条件,sql优化有哪些,数据同步问题(缓存和数据库),缓存优化
索引使用的限制条件,sql优化有哪些,数据同步问题(缓存和数据库),缓存优化 索引使用的限制条件,sql优化有哪些 a,选取最适用的字段:在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设 ...
- sqlplus几个存储过程执行变量值窜掉了_基于大数据的冷连轧过程控制优化技术研究...
作者:郭立伟, 王彦辉 , 王佃龙,宋浩源,刘海超,曹静 摘要:针对冷连轧过程控制模型系统目前存在的问题,以摩擦系数模型参数优化和平坦度控制参数优化为例,本文阐述了在完整.准确和可靠的工艺实时数据基础 ...
- MySQL调优(二):数据类型和schema优化,MySQL8.0取消查询缓存的原因
数据类型和schema优化 数据类型的优化 合理使用范式和反范式 三大范式: 1.表不可分 2.不能存在传递依赖 3.表里其他列的值必须唯一依赖于主键 约定大于规范,没有必要严格遵守范式,以业务为准, ...
最新文章
- aidl实现进程间通信
- c/c++ 拷贝控制 构造函数的问题
- 补补算术基础:编程中的进制问题
- C#中FileStream的对比以及使用方法
- 以消费者为中心 第四范式为企业转型准备“专属服务系统”
- 内存映射文件mmap原理分析
- 支付宝移动支付SDK - Ruby版本
- mysql优化概述2
- kafkatemplate无法注入_SpringBoot 整合 Spring-Kafka 深度踩坑实战
- 线性回归,最小二乘法 C语言实现
- gearman:从安装到python API测试
- HX710_24位电子秤AD采集
- cmake 返回上层目录
- 计算机进入不了管理器,电脑没有桌面且任务管理器打不开怎么办
- 广东未来科技|民族科技助力立体显示终端产业集群崛起
- 三分钟解决文档编辑难题-【文档编辑命令- cat echo vi/vim tail rmdir 】
- SQL Server数据库建表
- html根据地点名称查坐标,根据地址查询经纬度Js
- Matlab||EGM2008模型计算GOCE沿轨重力梯度及全球重力梯度分布
- 视频转格式用什么工具?mp4格式转换器,好用的视频格式转换器
热门文章
- Hadoop(三)MapReduce
- 幼儿园小班上计算机课 作业内容是手口一致,小班幼儿手口不能一致的点数怎么办...
- OpenShift 4 - 关闭更新MachineConfig后集群节点自动重启功能
- 解决RHEL无法访问NTFS
- Elasticseach 从零开始学习记录(一) - 单实例环境搭建
- 全新设计的 Xcode 12
- TensorFlow——使用TensorFlowSharp创建C#应用程序
- python中列表、元组、字符串都属于有序序列_列表、元组、字符串是Python的有序序列。...
- python 热力图_python高维数据型图表热力图、树形图
- html5声音播放音乐,HTML5 煽情的音乐播放器和音频可视化