下载中心: 使用异步方法生成文件任务+键集分页查询

news2024/9/22 9:45:53

文章目录

  • 引言
  • I 下载中心功能
    • 进度表设计
    • 异步处理文件生成
    • 案例
  • II 键集分页查询
    • 提高查询效率
    • 解决分页查询出现数据重复或丢失
    • 案例
  • III 工具
    • 线程池
    • 基于EasyExcel 生成 excel文件
    • 存储系统
  • see also

引言

需求: 根据查询条件导出数据,比如交易流水、设备安装资料。

流程设计:点击导出时, 文档由服务端异步生成,用户可去下载中心查询文档生成进度。

页面请求设备安装文件生成接口之后,提示【请到下载中心等待下载】

基础知识:

  1. 索引:有效地找到目标【编址(Addressing)->寻址->访问】
  2. 提高效率的本质:少做事情(效率=产出/所做的事情)
  3. 键集分页查询(‌Keyset Pagination)‌: 也称为基于查找的分页,‌通过使用WHERE子句来跳过行,‌而不是使用偏移量,‌从而避免了因数据库更新而导致的分页数据重复或遗漏的问题。‌

I 下载中心功能

进度表设计

sysDownloadTask.setFileSize

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2048583.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

牛客面经学习笔记(二)

锂离子电池的充电过程可以分为四个阶段:涓流充电(低压预充)、恒流充电、恒压充电以及充电终止。 阶段1:涓流充电——涓流充电用来先对完全放电的电池单元进行预充(恢复性充电)。在电池电压低于3V左右时采用涓流充电,涓…

Vue 生命周期详解含demo、面试常问问题案例

Vue 生命周期详解、面试常问问题案例 含 demo 文章目录 Vue 生命周期详解、面试常问问题案例 含 demo一、Vue 生命周期是什么二、Vue 中如何使用生命周期钩子1. **beforeCreate**2. **created**3. **beforeMount**4. **mounted**5. **beforeUpdate**6. **updated**7. **beforeD…

8.15笔记

一、mycat读写分离实现 1. 添加一个新的虚拟主机,设置ip为10.1.1.60,主机名为mycat.yuanyu.zhangmin.关闭防火墙 SELinux NetworkManager 2. 上传jdk和mycat安装包 3. 解压并且添加到指定的位置 [rootmycat ~]# ls anaconda-ks.cfg frp initserver.sh jdk1.8…

018集——递归函数和for循环对比(从1加到100实例) ——C#学习笔记

本例分别用递归函数和for循环,求出1到100的和: using System;namespace Mytest {class Mytest{static void Main(string[] args){Calculate Myc new Calculate();int YourNumber 100;int Mysum Myc.Xto1(YourNumber);Console.WriteLine("从1加到…

Element-03.组件-Pagination分页

一.常见组件-分页-属性 参数:background 说明:是否为分页按钮添加背景色 类型:boolean 有background即添加,没有则不添加 参数:layout 说明:组件布局,子组件名用逗号分隔 类型&#x…

86.小米相机修改拍照(尺寸,画幅,比例)的方法

目录 1.打开相机,拍照模式,上面有个箭头或三个点,点击 2.点击画幅 3.点击你想要的画幅即可。 想要修改手机照片的(尺寸,画幅,比例)时,总会去找分辨率,其实并不是&…

用后端实现一个简单的登录模块2 前端页面

该模块能做到的功能: 1阶:输入账号和密码,输入正确即可返回登录成功的信息,反之则登录失败 2阶:有简单的前端页面,有登录成功和失败的弹窗,还有登录成功的主页面 3阶:前端页面的注…

探索Python的中文转换魔法:zhconv库的神秘力量

文章目录 探索Python的中文转换魔法:zhconv库的神秘力量第一部分:背景介绍第二部分:库的概述第三部分:安装指南第四部分:函数使用示例第五部分:实际应用场景第六部分:常见问题与解决方案第七部分…

【Vue3】路由Query传参

【Vue3】路由Query传参 背景简介开发环境开发步骤及源码总结 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日子…

24/8/17算法笔记 策略梯度reinforce算法

import gym from matplotlib import pyplot as plt %matplotlib inline#创建环境 env gym.make(CartPole-v0) env.reset()#打印游戏 def show():plt.imshow(env.render(mode rgb_array))plt.show() show()定义网络模型 import torch #定义模型 model torch.nn.Sequential(t…

8月17日星期六今日早报简报微语报早读

8月17日星期六,农历七月十四,早报微语早读。 1、海关总署:接触过猴痘病例的人员入境时应主动申报; 2、284名运动员出征!巴黎残奥会中国体育代表团成立; 3、四部门:继续执行对彩票一次中奖不超…

C语言 之 字符相关函数

文章目录 字符分类函数字符转换函数 本章内容主要讲的是c语言中的字符相关的一些函数的作用用法和使用 为了方便我们对字符的各种操作,C语⾔标准库中提供了⼀系列库函数,我们大概可以根据其功能分成两类函数 字符分类函数 C语言中有一系列函数是专门用…

【区块链+金融服务】基于 VoneBaaS 的区块链金融服务管理平台 | FISCO BCOS应用案例

在顺应数字经济发展、强化科技赋能金融的背景下,中央及地方政策层面鼓励“区块链 金融”应用示范项目, 在中小企业征信及风险管理、供应链金融等重点领域开展应用,探索建立区块链金融风险监控体系。同时,随着 科技金融服务逐步升…

学生阅读行为与图书预定平台的设计与实现(全网独一无二,24年最新定做)

目录: 前言: 具体功能如下: 1. 学生角色 2. 图书管理员 3. 图书采购人员 4. 系统管理员 技术栈介绍: 1. Springboot 2. MySQL 3. Vue 4. Java 系统详细界面: 为什么选择我: 前言: 博…

71、docker网络

一、docker网络: 1.1、默认模式: 桥接模式 部署好docker服务,启动之后,就会创建一个虚拟网桥,docker0,这是一个虚拟网络设备,类似于交换机。 [rootdocker1 ~]# ifconfig docker0: flags4163…

Linux:Linux环境基础开发工具使用

✨✨✨学习的道路很枯燥,希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一. Linux 软件包管理器 yum 1.1 什么是软件包 1.2 查看软件包 1.3 如何安装软件 1.4 如何卸载软件 二 Linux编辑器-vim使用 ​编辑 2.1 vim的基本概念 2.2 vim正常模式命令集…

安装postgresql和PGVector

1. 概述 研发有需要,要使用PGVector做向量。简单记录安装postgresql和PGVector过程。 2. 参考 postgresql官方下载连接 postgresql官方linux yum安装 PostgreSQL的安装、配置与使用指南 PostgreSQL向量数据插件–pgvector安装 3. 安装 3.1 只安装postgresql&am…

进程地址空间(一)

目录 1. 语言层面上的地址2. 引入新概念 ---- 地址空间的概念3. 进一步理解地址空间4. 为什么要有地址空间 在正式介绍进程地址空间之前,我们需要做一些铺垫,在父子进程同时运行时,从代码层面上的变量的地址,引入进程地址空间的概…

2.1算法的时间复杂度与空间复杂度

本篇博客介绍算法的时间复杂度与空间复杂度 一、算法效率 算法好坏从时间和空间两个维度衡量 二、时间复杂度 1.概念 时间复杂度是算法中基本操作的执行次数,定量描述了算法的运行时间 2.注意 (1)时间复杂度是偏…

vue项目中引入字体文件样式

需求:关于一些样式需要自定义的,所以需要ui提供字体文件,然后引入项目中,就可实现自定义 首先看一下实现效果图: 第一步:新建一个字体样式文件用于放字体文件和css样式 font.css文件: /* 数字特殊字体 */ font-face {/*给字体命名*/font-family: DINCondBold;/*引入字体文件*…