自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 资源 (2)
  • 问答 (9)
  • 收藏
  • 关注

原创 秒杀系统常见问题—如何避免库存超卖?

官方介绍:Redisson是一个基于Redis的Java驻留内存数据网格(In-Memory Data Grid)。它封装了Redis客户端API,并提供了一个分布式锁、分布式集合、分布式对象、分布式Map等常用的数据结构和服务。Redisson支持Java 6以上版本和Redis 2.6以上版本,并且采用编解码器和序列化器来支持任何对象类型。Redisson还提供了一些高级功能,比如异步API和响应式流式API。它可以在分布式系统中被用来实现高可用性、高性能、高可扩展性的数据处理。

2023-05-24 13:50:27 1535 4

原创 三次输错密码后,系统是怎么做到不让我继续尝试的?

Redis的选择不难看出,这个流程比较重要的是存在一个用来计数的变量,这个变量既要满足分布式读写需求,还要满足全局递增或递减的需求,那Redis的。

2023-05-12 12:44:32 4996 6

原创 SpringBoot项目实现日志打印SQL明细(包括SQL语句和参数)几种方式

对比上面这三种方式,其中p6spy打印的sql最完整,是可以直接放在数据库工具上执行的,而不是像Mybatis打印那种参数带问号的。但其实打印这些sql语句挺消耗性能的,建议到了线上把它给关掉,避免非业务消耗资源。......

2022-07-21 20:32:03 17646 5

原创 使用Java语言搭建一个简易的局域网直播(live)系统

由于是局域网直播系统,那么最简单的情况应该也有两部分构成:录制直播和播放直播。这里我会给大家简单介绍一下我在局域网直播系统中使用到的关键技术,让大家对该系统有一个初步的认识。这个不必多说,主要用于构建开发环境,因为JavaCV的包比较大,单独下载jar包很容易漏。这个播放器是我从github上down下来的,既简洁又好看,下载地址在下文中会有。前面简单介绍了一下核心技术,这里我会介绍整个局域网直播系统的环境如何搭建。解压nginx压缩包,将nginx-rtmp-module放到Nginx文件夹中。将ng

2022-07-03 21:23:16 10000 18

原创 《花100块做个摸鱼小网站! 》第七篇—谁访问了我们的网站?

大家好呀,我是summo,最近发生了些事情(被裁员了,在找工作中)导致断更了,非常抱歉。刚被裁的时候还是有些难受,而且我还有房贷要还,有些压力,不过休息了一段时间,心态也平复了一些,打算一边找工作一边写文,如果有和我一样经历的同学,大家共勉!《花100块做个摸鱼小网站! 》这个系列的前六篇已经大概把整体的流程写完了,从这篇起我会补充一些细节和组件,让我们的小网站更加丰富一些。这一篇呢我会介绍如何将用户的访问记录留下来,看着自己做的网站被别人访问是一件很有意思和很有成就感的事情。对应的组件也就是我用红框标出来

2024-10-10 19:45:52 1696 3

原创 《花100块做个摸鱼小网站! 》第六篇—将小网站部署到云服务器上

到这一篇我们终于把环境搭好,也做好了几个热搜小组件,为了让我们方便展示成果或者方便自己摸鱼,我们需要将这个小网站部署上云。整体流程并不复杂,但有很多个小细节。如果某个细节处理不当,可能会导致部署失败,因此这是一个不断尝试和调整的过程。基本流程包括:修改配置、打包、上传、运行和调试,然后反复进行,直到成功。

2024-09-09 17:19:21 1688 2

原创 《花100块做个摸鱼小网站! 》第五篇—通过xxl-job定时获取热搜数据

我们已经成功实现了一个完整的热搜组件,从后端到前端,构建了这个小网站的核心功能。接下来,我们将不断完善其功能,使其更加美观和实用。今天的主题是如何定时获取热搜数据。如果热搜数据无法定时更新,小网站将失去其核心价值。之前,我采用了注解来实现定时任务,但这种方式灵活性不足,因此我决定用更灵活的XXL-Job组件来替代它。xxl-job是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。目前github代码库,开源免费的,值得学习使用一下。github代码库地址下载下来后,代码库结

2024-09-02 20:04:04 1819 4

原创 MySQL的GROUP_CONCAT函数轻松解决多表联查的聚合问题

它是 MySQL 中的一个聚合函数,主要用于将多个行的值连接成一个字符串。比如,查询一个表中的某些记录,并将某个字段的多行值合并在一起,以便于更直观地查看。大家好呀,我是summo,最近遇到了一个功能需求,虽然也是CURD,但属于那种比较复杂一点的CURD,话不多说,我们先看一下需求。原型画的有点丑,不过应该可以看的懂,需求还是合理的,现在压力给到了后端,如何写SQL才能查出这样的数据结构来呢?从结果可以看到,course_ids和course_names将张三选择的课程聚合起来了,其中的主要功臣就是。

2024-08-29 11:38:14 725

原创 《花100块做个摸鱼小网站! 》第四篇—前端应用搭建和完成第一个热搜组件

在本系列文章的早期章节中,我们已经成功地购买了服务器并配置了MySQL、Redis等核心中间件。紧接着,我们不仅建立了后端服务,还开发了我们的首个爬虫程序。后面我们还把爬取到的数据进行了保存,生成了一整套MVC的后端代码,并且提供了一个接口出来。这篇文章呢我要开始前端开发部分了。与后端开发相比,前端开发的优势在于其直观性和即时反馈。开发者可以迅速看到自己代码的成果,这种“所见即所得”的体验极大地提升了开发的乐趣和满足感。在接下来的篇章中,我将展示如何将爬取到的热搜数据整合到前端界面中,使之以一种用户友好的方

2024-08-26 17:16:00 1212 2

原创 《花100块做个摸鱼小网站! 》第三篇—热搜表结构设计和热搜数据存储

大家好呀,我是summo,第一篇已经教会大家怎么去阿里云买服务器,以及怎么搭建JDK、Redis、MySQL这些环境。第二篇我们把后端的应用搭建好了,并且完成了第一个爬虫(抖音)。那么这一篇我会教大家如何将爬取到的数据保存到数据库,并且可以通过接口获取到,为后面的前端界面提供数据源。/*** 创建时间/*** 修改时间/*** 创建人ID/*** 修改人ID/*** 创建时间/*** 修改时间/*** 创建人ID/**

2024-08-20 09:10:34 942

原创 《花100块做个摸鱼小网站! 》第二篇—后端应用搭建和完成第一个爬虫

大家好呀,我是summo,前面已经教会大家怎么去阿里云买服务器(链接在这,需要自取),以及怎么搭建JDK、Redis、MySQL这些环境或者数据库。从这篇文章开始就进入正式的编码阶段了,我们从后端开始,先把热搜数据获取到,然后再开始前端部分。本来我想把后端应用搭建和完成第一个爬虫分为两篇文章写的,但是想到墨迹三周还没看到效果,估计有些同学已经等不及了,所以我把这两篇文章合成一篇了,篇幅比较长,感兴趣的同学可以认真看下。因为后端应用初始化的时候涉及很多配置,有很多命名,建议大家写别急着个性化用自己的名字命名应

2024-08-12 09:48:37 1821

原创 《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

大家好呀,我是summo,前面我已经写了我为啥要做这个的原因,从这篇文章开始我会一步步跟大家聊聊我是怎么搭起这个网站的。我知道对很多新手来说,建网站可能挺头大的,不知道从哪里开始,所以我会尽量写得简单明了,让大家一看就懂,少走弯路。咱们先从买服务器开始说起。现在阿里云好像还有免费试用,对新手来说挺划算的。不过不管你是免费用还是掏钱买,拿到服务器后的第一件事,就是得把环境给整利索了。这就跟新房子装修一样,基础打好了,后面的事儿才能顺顺利利。对于我们这个。

2024-08-05 09:59:44 1501 1

原创 《花100块做个摸鱼小网站! · 序》灵感来源

平时上班的时候总有一段段空闲(摸鱼)的时间,玩游戏吧时间不够还容易被抓,最适合的就是吃瓜看新闻了,我平时就喜欢去夸克的捷径小程序里面去看热搜榜,但有时感觉它的信息太少了而且还只有手机版,经常空闲(摸鱼)的兄弟都知道,看电脑还可以装着干活的样子,看手机基本上都是在摸鱼了,所以网页版的热搜榜还是有搞头的。对我来讲,后端的爬虫和应用都非常简单,真正花时间多的是前端,尤其是调样式,我早就忘的差不多了,而且我只会用vue2,还好有ChatGPT,不然还真卡在这里了。,我想后续如果RDS到期了,就迁移回来吧。

2024-07-30 19:20:28 1910 5

原创 easy-table-vue+VueJs、SpringBoot+Mybatis实现MVVM模型前后台数据交互

①安装node.js,下载相应版本的node.js,下载地址:https://nodejs.org/en/download/,下载完双击安装,点击下一步直到安装完成。e:回车,然后cd vue,然后输入命令:vue init webpack 项目文件夹名称,回车,运行初始化命令的时候会让用户输入几个基本的选项,⑤安装项目所需的依赖包,首先输入:cd 项目名回车,然后输入:cnpm install回车等待安装,安装完成之后,会在我们的项目目录firstVue。安装完依赖包之后,就可以运行整个项目了。

2024-07-26 16:53:53 1138

原创 我不应该用JWT的!

JWT: 生成并发给客户端之后,后台是不用存储,客户端访问时会验证其签名、过期时间等再取出里面的信息(如username),再使用该信息直接查询用户信息完成登录验证。jwt自带签名、过期等校验,后台不用存储,缺陷是一旦下发,服务后台无法拒绝携带该jwt的请求(如踢除用户);Token+Redis: 是自己生成个32位的key,value为用户信息,访问时判断redis里是否有该token,如果有,则加载该用户信息完成登录。

2024-07-25 14:31:39 1740

原创 《优化接口设计的思路》系列:第十一篇—表格的导入导出接口优化

EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。64M内存20秒读取75M(46W行25列)的Excel(3.0.2+版本)Alibaba EasyExcel的核心类是EasyExcel类/*** 最简单的读* 1. 创建excel对应的实体对象 参照{@link DemoData}

2024-07-03 15:56:08 1056

原创 【BUG记录】MySQL插入Emoji表情报错“Incorrect string value“

大家好呀,我是summo,这次的文章标题是一个Mysql数据库的SQL错误,遇到的同学自然懂,没遇到的同学希望你永远也不要遇到。

2024-06-26 14:43:54 1455

原创 我有点想用JDK17了

大家好呀,我是summo,JDK版本升级的非常快,现在已经到JDK20了。JDK版本虽多,但应用最广泛的还得是JDK8,正所谓“他发任他发,我用Java8”。其实我也不太想升级JDK版本,感觉投入高,收益小,不过有一次我看到了一些使用JDK17新语法写的代码,让我改变了对升级JDK的看法,因为这些新语法我确实想用!废话不多说,上代码!

2024-06-04 19:47:11 1871 1

原创 debug技巧之使用arthas调试

大家好啊,我是summo,今天给大家分享一下我平时是怎么调试代码的,不是权威也不是教学,就是简单分享一下,如果大家还有更好的调试方式也可以多多交流哦。前面我介绍了本地调试和远程调试,今天再加一种:利用Arthes进行调试。

2024-05-22 19:26:47 1752

原创 debug技巧之远程调试

大家好啊,我是summo,今天给大家分享一下我平时是怎么调试代码的,不是权威也不是教学,就是简单分享一下,如果大家还有更好的调试方式也可以多多交流哦。当我们的应用发布到线上之后,就不能随意启停了,但如果线上出现了BUG怎么办呢?大多数时候我们会借助线上打印的日志进行排查问题,如果幸运的话很快就可以定位到问题,但不幸的话就麻烦了。首先出错的地方可能根本没有打印日志或者日志打印不全,其次有可能本地是好好的但线上就是不行,总之倒霉的时候喝凉水都塞牙。。。

2024-05-16 16:25:31 1081

原创 debug技巧之本地调试

大家好啊,我是summo,今天给大家分享一下我平时是怎么调试代码的,不是权威也不是教学,就是简单分享一下,如果大家还有更好的调试方式也可以多多交流哦。如果看过我文章的同学应该知道我是一个Java开发,平时都是Spring全家桶。后端和前端虽说都是写代码,但调代码的时候还是有点不同的,前端可以一把梭,但是Java只用是不行的,原因也很简单,“前端热部署快,后端慢”,后端总是避不开断点调试的,如果还有没学会断点调试的同学,建议还是学习一下。好了,废话不多说,开始正文~

2024-05-11 10:21:14 976

原创 SpringCloud微服务多应用脚手架的搭建与部署

第五步:依照上面建立cloud-api项目的方式,建立cloud-base-4000(基础服务模块,4000指代当前服务对外的端口号,后面4001同理),cloud-operation-4001(运维管理模块)第五步:这里需要注意,单选选择第二个;1、在cloud的pom文件中引入的依赖会作用到所有服务中,例如在cloud的pom文件中引入了slf4j依赖,则其。同样,在operation服务也加入api的依赖,那么在operation服务也可以使用api中所有的类了。

2024-04-23 16:37:29 1416

原创 《优化接口设计的思路》系列:第十篇—网站的静态资源怎么获取?

访问静态资源的接口大家接触的不多,主要是因为现在前后端分离了,前端自己使用CDN放资源,后端只用维护一个index.html文件,其他的资源都通过CDN访问,已经变得很简单了。但是有时候想要用却不知道从哪里开始,希望这篇文章可以给大家一个大概的思路,还有就是处理静态资源的框架很多,最常见的就是Thymeleaf、Velocity,这两个都可以实现上面的效果,但建议不要混用。

2024-04-19 15:29:28 1279

原创 在线人数统计功能怎么实现?

key:指定的有序集合的名字。min 和 max:定义了查询的分数范围,也可以是 -inf 和 +inf(分别表示“负无穷大”和“正无穷大”)。

2024-04-10 19:34:39 1401

原创 《优化接口设计的思路》系列:第九篇—用好缓存,让你的接口速度飞起来

Ordered.LOWEST_PRECEDENCE

2024-03-19 09:39:10 1592

原创 为什么现在连Date类都不建议使用了?

只能说这种基础的类改起来牵一发动全身,需要从DO实体类看起,然后就是各种Converter,最后是DTO。这里就不细说修改流程了,主要说一下我们在改造的时候遇到的一些问题。从现在开始)是一个糟糕的类型,这解释了为什么它的大部分内容在 Java 1.1 中被弃用(但不幸的是仍在使用)。这个改造难度不高,但是复杂度非常高,一个地方没改好,轻则接口报错,重则启动失败,非常耗费精力,真不想改。我们要改的原因很简单,我们的代码缺陷扫描规则认为这是一个必须修改的缺陷,否则不给发布,不改不行,服了。

2024-03-07 14:20:21 1822

原创 大部分人只有在工作几年后才知道什么是程序员

大学时期的我们,有几个从大一就开始好好学习,立志考研的?大多数人都只是在“享受大学生活”,就连选择计算机专业都是别人推荐的,根本不知道将来毕业会干啥。在我们的印象中,程序员就是一个模糊的名词,所谓敲代码也就是一个动词,至于敲啥我们也不知道。大部分的计算机相关专业,都会学习一门C语言,但毕业后真正在使用C语言赚钱的同学又有几个呢?我想如果学校不开设其他语言的课程,到了毕业,大部分同学也只知道一个C语言,但只懂这个是连实习都找不到的。

2024-03-05 14:13:57 892

原创 《优化接口设计的思路》系列:第八篇—分页接口的设计和优化

从第一篇的《优化接口设计的思路》系列:第一篇—接口参数的一些弯弯绕绕到今天的《优化接口设计的思路》系列:第八篇—分页接口的设计和优化,这个专栏写了快半年,产量很低,但我自认为质量还行,但是写这篇文章的时候我陷入了纠结:只是介绍怎么分页太水了,但是多行合并和分页合理化我之前就单独写过文章了,现在又拿出来讲岂不是炒冷饭?但是我又转念一想,都是我写的文章,又不是抄袭的,咋不能重新写(水)一篇🤡。那么既然写(水)了,那我就多写(水)一点。

2024-02-22 19:43:00 1814

原创 《优化接口设计的思路》系列:第三篇—留下用户调用接口的痕迹

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;

2024-01-29 19:55:43 1591

原创 《优化接口设计的思路》系列:第七篇—接口限流策略

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;

2024-01-11 09:56:18 1567

原创 钉钉小程序生态7—企业机器人加互动卡片,改善用户体验的开始!

企业机器人,具备完整的接收消息和发送消息的能力。它与Webhoook 机器人不同,Webhoook 机器人只能出现在群里面,而企业机器人不仅可以在群里出现,还可以以单聊的形式出现,企业机器人很多时候都是以"xx小蜜"或"xx助手"命名。企业机器人属于功能版块- 点进去是机器人推送给你的信息钉钉互动卡片是一种新型的消息类型,它具有动态性、可交互性、多端统一等特点。它能够极大地丰富消息类型,并且促进用户的沟通互动。互动卡片具有以下特点。

2024-01-04 18:59:53 1801

原创 分页合理化是什么?

分页合理化通常是指后端在处理分页请求时会自动校正不合理的分页参数,以确保用户始终收到有效的数据响应。

2023-12-26 10:46:07 1005

原创 《优化接口设计的思路》系列:第二篇—接口用户上下文的设计与实现

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;

2023-12-16 12:36:26 1572

原创 《优化接口设计的思路》系列:第六篇—接口防抖(防重复提交)的一些方式

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;

2023-12-05 18:44:51 2312 1

原创 SpringBoot整合阿里云OSS、天翼云OSS、MinIO对象存储

这三种对象存储工具都是我在真实项目中使用过的,它们的使用流程相似,接口名称也差不多,但是在一些细节上还是有些不同的地方。为了让大家更好地了解它们,我在文章中都有标明区别。阿里云和天翼云使用起来比较方便,只需要购买服务就可以了。而MinIO就比较麻烦,需要自己搭建一个服务器环境,并在生产环境中满足主备、证书等方面的要求,这也让我在使用过程中踩了不少坑。不过,我会在新的文章中详细介绍如何搭建MinIO服务器以及如何解决它的问题。

2023-11-29 13:53:29 2097

原创 SpringBoot + 通义千问 + 自定义React组件,支持EventStream数据解析!

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。最近ChatGPT非常受欢迎,尤其是在编写代码方面,我每天都在使用。随着使用时间的增长,我开始对其原理产生了一些兴趣。虽然我无法完全理解这些AI大型模型的算法和模型,但我认为可以研究一下其中的交互逻辑。特别是,我想了解它是如何实现在发送一个问题后不需要等待答案完全生成,而是通过不断追加的方式实现实时回复的。F12打开控制台后,我发现在点击发送后,它会发送一个普通

2023-11-23 09:38:30 4860 5

原创 接口开放太麻烦?试试阿里云API网关吧

定义API请求主要是设置请求path和参数,这个path和参数是服务调用方使用的,一般我们会这里定义的path和参数与后端设为一样,可以减少理解的成本。这里就是服务提供方的服务API地址。可以不填,直接点击创建。阿里云API网关是一个强大的工具,可以帮助开发者简化接口开放的过程,提供安全、高效的API访问入口。通过使用API网关,开发者可以更加专注于业务逻辑的实现,而无需过多关注接口的安全和管理问题。相信随着云计算和API经济的不断发展,API网关将在未来扮演越来越重要的角色。

2023-11-13 09:50:19 1597

原创 《优化接口设计的思路》系列:第五篇—接口发生异常如何统一处理

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;

2023-11-06 13:53:17 2055

原创 使用Postman快速复现浏览器的请求(包括生成调用代码)

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。好久没有写开发类的工具使用文了,这次我来讲下平时我是如何使用Postman工具的。

2023-10-31 15:52:36 1900 1

原创 《优化接口设计的思路》系列:第一篇—接口参数的一些弯弯绕绕

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;

2023-10-27 10:46:10 912

mybatis-test.rar

MyBatis实现多行合并(collection标签使用) 举个栗子 现有如下表结构,用户表、角色表、用户角色关联表。 一个用户有多个角色,一个角色有可以给多个用户,也即常见的多对多场景。 现有这样一个需求,分页查询用户数据,除了用户ID和用户名称字段,还要查出这个用户的所有角色。 从上面的表格我们可以看出,用户有三个,但每个人的角色不止一个,而且有重复的角色,这里角色的数据从多行合并到了1行。 难点分析 SQL存在的问题: 想使用SQL实现上面的效果不是不可以,但是很复杂且效率低下,尤其这个地方还需要分页,所以为了保证查询效率,我们需要把逻辑放到服务端来写; 服务端存在的问题: 服务端可以把需要的数据都查询出来,然后自己判断整合,首先十分复杂不说,而且这里有个问题:如何在查询条件很复杂的情况下保证分页?

2022-06-23

apache-artemis包

在服务器上使用apache-artemis 搭建MQTT服务,windows下和Linux下操作方式基本一致。 MQTT协议 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。 Artemis是通过基于netty的非堵塞IO架构开发的,拥有出色的性能。由jboss捐献的HornetQ的衍生版本,可能作为下一代ActiveMQ的存在。 Artemis 服务器 选择Artemis的原因开源、高可用性、Java编写、高性能的日志保证持久化消息像非持久化消息一样拥有出色的表现、功能齐全、简洁的设计、灵活的集群可以通过不可靠的全球网络创建地理上分布的集群。

2022-06-15

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除