- 博客(84)
- 资源 (17)
- 问答 (1)
- 收藏
- 关注
原创 深入解析数据倾斜:原因、影响与优化方案
如果大部分用户的订单数较少,但有个别用户(如大客户)拥有海量订单,某些计算节点的负载就会远高于其他节点,形成数据倾斜。• 表现:在分布式计算框架(Spark、Flink)中,如果 Join 关联的 Key 分布不均衡,某些计算节点会接收过量数据,导致计算瓶颈。• 方案:在 Key 前添加随机前缀,如 user_1 → 1_user_1、2_user_1,打散 Key 分布。• 方案:对大 Key 进行拆分,如 common_key_1_a、common_key_1_b,减少单个节点压力。
2025-03-02 12:39:12
439
原创 如果redis的热点key被频繁访问,导致频繁读取,更新怎么办?
这样,当Redis缓存不命中时,可以先访问本地缓存,只有在本地缓存也没有时,才访问Redis,再从Redis获取数据后同步到本地缓存。如果Redis的某个热点Key(即被频繁访问的数据)成为瓶颈,可能会导致该Key被频繁读取、更新,甚至造成Redis的性能下降,进而影响整个系统的稳定性。•问题:热点数据可能会长时间存在缓存中,如果缓存不及时过期,可能导致访问的热点数据一直处于缓存中,过期数据无法及时更新。•问题:对于热点数据的访问,多个客户端可能会同时访问并修改,造成Redis的频繁读写,甚至数据不一致。
2025-02-10 18:50:39
306
原创 认识一下redis的分布式锁
SETNX只会在指定的键不存在时设置键的值,如果键已存在,则获取锁失败。3. 锁的超时:为了防止死锁,分布式锁通常会设置一个超时机制,在客户端没有释放锁的情况下,Redis会在一段时间后自动释放锁。2. 锁的释放:客户端持有锁时,通过某些操作完成任务后,应该释放锁,通常使用DEL命令删除锁的键。设置一个合理的锁过期时间(如EX 30),即使客户端因为故障未能释放锁,锁会在超时后自动过期,避免死锁问题。• my_random_value: 比对锁的值,确保只有持有该锁的客户端才能释放锁。
2025-02-10 18:27:30
505
原创 Vue自定义指令实现下拉刷新和上滑加载更多
本文介绍了如何使用 Vue 自定义指令实现下拉刷新和上滑加载更多功能,并提供了一个完整的示例代码。该方案不依赖任何第三方库,仅使用原生 JavaScript 实现,代码简洁易懂,易于维护。同时,还讨论了实现过程中可能遇到的问题及相应的解决方案,帮助开发者更好地理解和应用该技术。你可以根据实际需要调整阈值、加载更多触发距离等参数。实际应用中,和方法通常会调用 API 获取数据,并更新列表内容。为了更好的用户体验,可以在加载过程中显示 loading 指示器。
2025-01-21 14:56:57
411
原创 Vue.js 动态菜单展开折叠的三种实现方式
三种方法各有优劣。原生 JavaScript 方法较为直接,但操作 DOM 较多。数组索引法利用了 Vue.js 的数据驱动特性,但需要维护一个额外的数组。动态属性法最为简洁优雅,直接操作数据对象,符合 Vue.js 的响应式 principles. 选择哪种方法取决于项目的具体需求和代码风格。-- 使用 item.isOpen 控制箭头 -->-- 使用 item.isOpen 控制显示 -->
2024-11-22 09:34:25
999
原创 Vue实现响应式导航菜单:桌面端导航栏 + 移动端抽屉式菜单
我们希望实现以下功能: 1. 桌面端宽屏(大于 768px):顶部导航菜单,水平布局,导航栏固定在页面顶部。2. 移动端窄屏(小于或等于 768px):隐藏顶部导航栏,显示抽屉式菜单,点击遮罩层或关闭按钮可关闭抽屉。通过这个例子,我们实现了一个功能完备、易于扩展的响应式导航菜单,你可以根据需求进一步美化样式或添加其他功能!,桌面端显示顶部导航栏,移动端则切换为抽屉式菜单,并具备点击遮罩关闭的功能。为实现桌面端顶部导航栏和移动端抽屉菜单,我们需要分别设置两种样式。处理逻辑,包括菜单开关和窗口大小监听。
2024-11-17 18:52:26
1338
原创 The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB).
通过查看打包的dist文件中找到了之前丢失的文件,说明我们已经将文件打包成功!再次浏览器访问,能访问到就是没有界面,笔者怀疑是静态文件加载路径的问题,针对这个问题,后期笔者做解答。****,笔者cd到项目目录下去查看,就是缺少一些文件,缺少文件的原因只能是vue项目打包时出现了问题,重新对项目。这里已解决掉由于限制大小的问题引起的 警告、错误 提示。项目部署成功,也能访问,唯独就是界面加载不出来,通过。在根目录下,创建一个vue.config.js文件。,果然在打包的时,报了两个警告,一样。
2024-11-13 21:25:24
698
原创 SpringBoot 快速实现 api 加密,守护你的安全
该项目使用RSA加密方式对API接口返回的数据加密,让API数据更加安全。别人无法对提供的数据进行破解。Spring Boot接口加密,可以对返回值、参数值通过注解的方式自动加解密。首先我们当然是了解RSA加密RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。
2024-11-12 03:46:05
825
原创 使用 Spring Boot 进行加密和解密:SecretKeySpec 和 Cipher
密钥使用对称加密使用相同的密钥进行加密和解密。非对称加密使用一对密钥(公钥和私钥)进行加密和解密。速度对称加密速度快,适合大数据量的加密。非对称加密速度慢,通常用于少量数据的加密或密钥交换。安全性对称加密密钥管理复杂,密钥泄露风险较大。非对称加密安全性高,适合公开密钥的场景。通过本文,你学会了如何在 Spring Boot 项目中使用和Cipher实现对称加密和解密。我们使用 AES 算法对字符串进行加密和解密,并通过 REST 控制器来测试这些功能。
2024-11-12 03:30:05
1749
原创 使用 Spring Boot 实现 JWT 生成与验证的自定义类
JWT 的结构通常包含三个部分:头部(Header)、载体(Payload)和签名(Signature)。通过对这三个部分进行编码和加密,JWT 能够安全地传递用户信息。有效的 JWT 需要在客户端和服务器之间传递,因此确保它们的安全性是至关重要的。
2024-09-29 10:37:17
1260
原创 微信小程序点赞动画特效实现
这里提供两种实现点赞动画特效的方法:方法一:使用 CSS 动画 wxss 文件: js 文件:解释:方法二:使用 canvas 绘制动画 wxss 文件: js 文件:解释:两种方法的比较:总结:以上两种方法都可以实现点赞动画效果,您可以根据实际需求选择合适的方案。
2024-09-13 07:17:53
1490
原创 微信小程序实现转盘抽奖,可以自定义编辑奖项列表
通过以上修改,奖项区域将从 0 度开始绘制,并且每个区域的角度信息会被正确记录在 prizeList 数组中,然后在 stopRotate方法中准确判断指针落在哪个区域,从而确定中奖结果。判断指针位置: 在 stopRotate 方法中,我们循环遍历 prizeList 数组,并根据每个奖项的 startAngle 和 endAngle 判断指针是否落在该区域内。停止动画和判断中奖区域: 在 stopRotate 方法中,根据最终指针角度 finalAngle 计算中奖区域索引,并弹出中奖信息。
2024-09-13 05:12:07
2943
1
原创 微信小程序显示后台文章副文本,图片和视频正常显示
将后台返回的富文本数据进行处理,提取出图片和视频的链接,并将其转换成小程序支持的格式。这两种方式可以解析 HTML 字符串并渲染富文本内容,包括图片和视频。希望以上信息能够帮助你!
2024-09-06 02:43:47
1293
原创 超实用!JS 自定义侧滑抽屉菜单,手把手教你打造 JavaScript 侧滑抽屉菜单插件
通过以上步骤,我们就完成了一个功能完善、易于使用的 JavaScript 侧滑抽屉菜单插件。你可以根据自己的需求修改代码,自定义样式和动画效果,打造独一无二的交互体验。
2024-08-20 02:06:44
637
原创 加速网页加载,提升用户体验:HTML、JS 和 Vue 项目优化全攻略
除了以上列出的方法,还有很多其他的优化技巧,例如使用 CDN 加速、HTTP/2 协议、Service Worker 缓存等等。在信息爆炸的时代,网页加载速度成为了用户体验的重中之重。为了留住用户,提升转化率,网页优化势在必行!网页优化是一个持续的过程,需要不断学习和实践。通过以上方法,你可以有效提升网页加载速度,为用户提供更流畅的体验,最终实现更高的转化率和用户满意度。本文将从 HTML、JavaScript 和 Vue 项目三个方面,为你提供一份全面的网页优化指南,助你打造闪电般的加载速度!
2024-08-16 05:34:54
1185
原创 打造聊天流式回复效果:Spring Boot+WebSocket + JS实战
本文介绍了如何使用 Spring Boot 和 WebSocket 实现类似 ChatGPT 的流式回复效果,并详细讲解了每个步骤的技术原理和代码实现。通过这种方式,我们可以构建更加 engaging 和 interactive 的 Web 应用,为用户带来全新的体验。
2024-08-13 11:34:24
1645
原创 Spring WebFlux 与 SSE 实现实时推送数据,精准推送到某个用户
通过 Spring WebFlux 和 SSE 的结合,我们可以轻松构建实时数据传输应用。SSE 提供了轻量级的服务器推送机制,而 Spring WebFlux 则为我们处理了底层的异步非阻塞 I/O 操作,并提供了简洁优雅的响应式编程模型,使得我们可以专注于业务逻辑的实现。相信随着实时数据需求的不断增长,Spring WebFlux + SSE 的组合将会在越来越多的项目中得到应用。
2024-08-13 11:26:00
2371
原创 实时数据推送:Spring Boot 中两种 SSE 实战方案
更适合处理大量并发连接和数据流的场景,代码简洁优雅,更符合响应式编程的思想。更适合处理单个请求的异步结果返回,代码相对简单,但可扩展性有限。你可以根据具体的业务需求选择合适的方案来实现实时数据推送功能。无论选择哪种方案,SSE 都为我们提供了一种轻量级、高效、易于实现的实时数据传输方案,可以帮助我们构建更加优秀的用户体验.
2024-08-12 13:30:49
1231
原创 Spring WebFlux 实现 SSE 流式回复:类GPT逐字显示回复效果完整指南
本文详细介绍了如何使用 Spring WebFlux 和 SSE 实现类似 ChatGPT 的流式回复效果,并提供了完整的代码示例。希望读者能够通过本文掌握该技术,并在实际项目中灵活运用。
2024-08-12 12:50:08
2977
1
原创 前端实现与Spring后端请求的实时流式响应,打造类 AI流式回复效果
本文介绍了如何利用WebSocket和SSE两种技术实现前端与Spring后端的长连接,并以ChatGPT的流式回复为例,给出了具体的代码实现和技术原理分析。在实际应用中,需要根据具体需求选择合适的方案。如果需要双向实时通信,WebSocket是更优选择;如果只需服务器单向推送数据,SSE则更为轻量级。无论选择哪种方案,掌握长连接和流式数据处理都是构建现代化实时交互应用的关键。希望本文能帮助你更好地理解和应用实时流式响应技术,为用户打造更加流畅、自然的交互体验!
2024-08-11 23:58:11
1713
原创 Java 电商秒杀系统优化实战:实现进阶示例详解与 RabbitMQ 配置
本文介绍了如何优化 Java 电商秒杀系统的代码实现和 RabbitMQ 配置,包括接口限流、分布式锁、异步处理优化和消息可靠性保障等方面。希望这些优化措施可以帮助您构建更加稳定、高效的秒杀系统。当然,实际的秒杀系统设计需要根据具体的业务场景和技术架构进行调整和优化。建议您在实践中不断学习和探索,打造出更加完善的秒杀系统。
2024-08-11 13:15:00
577
原创 Java 电商秒杀系统:消息队列、异步处理与库存一致性
本文介绍了如何使用消息队列、异步处理等技术构建高性能的 Java 电商秒杀系统。通过合理的设计和技术选型,我们可以有效地应对秒杀场景下的高并发挑战,同时保证数据一致性和用户体验。当然,实际的秒杀系统设计远比本文所述复杂,还需要考虑诸如前端限流、接口防刷、数据库优化等方面。希望本文能够抛砖引玉,激发您对构建高性能电商系统的兴趣和探索。
2024-08-10 23:44:59
1036
原创 前端黑科技:使用 JavaScript 实现网页扫码功能
调用设备摄像头,获取实时视频流。在网页上创建一个扫描区域,用户可以将二维码放置在该区域内进行扫描。使用jsQR库解码扫描区域内的二维码图像数据,获取二维码内容。提供手动输入二维码内容的功能。如果设备支持,还可以控制闪光灯的开关,以便在光线不足的情况下进行扫描。通过以上步骤,我们成功地使用 JavaScript 在网页端实现了二维码扫描功能。用户可以使用手机扫描网页上的二维码完成支付。用户可以扫描产品上的二维码,查看产品信息、生产日期、物流信息等。用户可以使用手机扫描二维码完成活动签到。
2024-08-10 10:10:58
2336
1
原创 Java后端处理前端字符串与 JSON 数据:安全拼接与转义技巧
在 Spring Boot 中处理前端传递的字符串和 JSON 数据时,需要注意潜在的 JSON 特殊字符问题。我们可以通过手动转义或借助 Jackson 库来安全地拼接字符串和 JSON 数据,确保数据完整性和程序稳定性。希望本文能够帮助您更好地理解 Spring Boot 中字符串与 JSON 数据处理的相关技巧,并在实际项目中得心应手。
2024-08-09 14:14:58
680
原创 认识消息队列:Spring Boot 实现 MQ 消息队列,解锁异步、削峰、广播等高级功能!
Data本文介绍了如何使用 Spring Boot 和 RabbitMQ 实现异步处理、流量削峰、消息总线、延迟队列和广播消息推送等功能。希望这篇文章能够帮助你更好地理解 MQ 的强大功能,并在实际项目中灵活运用。
2024-08-06 23:59:42
619
原创 前端开发:创建可拖动的固定位置 `<div>` 和自动隐藏悬浮按钮
• 自动隐藏和按钮显示逻辑:利用 setTimeout 实现拖拽元素在一定时间内无操作后自动隐藏,并显示固定位置的悬浮按钮。这篇博客文章介绍了如何利用 HTML、CSS 和 JavaScript 实现一个具有拖拽、自动隐藏和悬浮按钮的交互效果,适用于创建可定制的用户界面体验。• CSS 样式:定义了拖拽元素和悬浮按钮的基本样式,包括位置、背景色等,利用 transition 属性实现元素显示隐藏的动画效果。• #draggable 样式:定义拖拽元素的基本样式,包括固定位置、尺寸、背景色等。
2024-08-06 06:41:27
940
原创 对话框样式弹出提示框js插件- PopoverTip
现在,您只需引入该 JavaScript 文件,并按照上述步骤添加 HTML 结构,即可轻松实现一个功能完善的弹出提示框组件。
2024-08-05 16:09:24
455
原创 把html字符串转为可以被js操作的dom
创建的文档片段是独立于当前文档的。如果您想将解析后的 DOM 插入到现有的页面中,可以使用。API 将 HTML 字符串转换为可操作的 DOM 节点。变量中,您可以像操作任何其他 DOM 对象一样操作它。在 JavaScript 中,您可以使用。希望以上信息能帮助您!
2024-08-04 03:29:37
1007
原创 JavaScript 对话框式弹出提示框 PopoverTip 实现详解
本文深入解析了如何使用 HTML、CSS 和 JavaScript 实现一个灵活且易于使用的弹出提示框组件。该组件结构清晰,代码易懂,并具备自动调整弹出方向、点击空白处关闭等实用功能,可以作为学习 JavaScript 交互效果开发的良好案例。
2024-08-04 03:17:37
721
原创 跨越藩篱:打造兼容性强的 AJAX 代码
打造兼容性强的 AJAX 代码需要关注浏览器差异、跨域请求等问题。通过合理的代码设计和错误处理机制,可以确保 AJAX 应用在各种环境下都能稳定运行,为用户带来流畅的交互体验。v。
2024-08-03 05:30:00
433
原创 解锁网页交互利器:深入浅出 AJAX,用 JavaScript 与后端服务器对话,局部请求刷新数据
AJAX 作为一种强大的技术,极大地提升了网页的交互性和用户体验。本文通过对 AJAX 原理、代码示例、XMLHttpRequest 对象以及应用场景的讲解,希望能帮助你更好地理解和使用 AJAX,打造出更具吸引力的网页应用。
2024-08-03 01:15:56
3381
原创 写一个图片裁剪的js,JavaScript图片裁剪插件PlusCropper
PlusCropper是一个轻量级的JavaScript插件,它允许用户在网页上交互式地裁剪图片。用户可以通过鼠标或触摸操作来调整裁剪区域的大小和位置。支持图片的顺时针和逆时针旋转。支持图片的放大和缩小,方便用户精确定位裁剪区域。支持触摸事件,可在移动设备上流畅运行。提供onShowonHide和onCrop回调函数,方便用户在裁剪框显示、隐藏和裁剪完成后执行自定义操作。PlusCropper是一个功能完善且易于使用的JavaScript图片裁剪插件。
2024-08-02 05:15:54
2863
3
原创 文件上传——存储上传进度解决方案及断点续传
为了在上传意外中断后能够恢复进度,需要将上传进度持久化存储。的唯一性,以便准确地标识一个上传任务,实现断点续传功能。无论选择哪种方案,都需要确保。
2024-08-01 05:10:58
402
原创 基于 SpringBoot 和 Netty 实现消息推送,中心服务器推送到不同用户群体
【代码】基于 SpringBoot 和 Netty 实现消息推送,中心服务器推送到不同用户群体。
2024-08-01 02:25:33
861
原创 文件上传——springboot大文件分片多线程上传功能,前端显示弹出上传进度框
希望这些更详细的步骤和代码片段能够帮助您更好地理解和实现 Spring Boot 断点续传、多线程分片上传功能!要在分片上传的基础上实现断点续传,需要在服务端记录每个文件的上传进度,并在客户端请求上传时返回已上传的分片信息。使用 JavaScript 实现文件分割、分片上传、合并请求和上传进度展示等功能。创建一个简单的 HTML 页面,包含文件选择按钮、上传进度条和相关信息展示区域。创建一个新的 Spring Boot 项目,添加 Web 依赖。的唯一性,以便准确地标识一个上传任务,实现断点续传功能。
2024-07-31 05:25:27
729
原创 一文聊透分布式事务最经典的7种解决方案
子事务屏障技术,为DTM((https://github.com/yedf/dtm))首创,它的意义在于设计简单易实现的算法,提供了简单易用的接口,在首创,它的意义在于设计简单易实现的算法,提供了简单易用的接口,在这两项的帮助下,开发人员彻底的从网络异常的处理中解放出来。出现原因是在 RPC 调用分支事务try时,先注册分支事务,再执行RPC调用,如果此时 RPC 调用的网络发生拥堵,RPC 超时以后,TM就会通知RM回滚该分布式事务,可能回滚完成后,RPC 请求才到达参与者真正执行。正常请求,通过屏障。
2023-12-18 12:18:45
514
原创 网页开发中使用highlight.js实现代码高亮 + 行号
<code></code><li></li></ol> 从而实现设置行号的效果。由于 <ol><li></li>
2023-10-12 17:51:51
809
原创 vue 富文本编辑器 quill (含代码高亮、自定义字体、汉化、鼠标悬浮提示、组件封装等)
在Options的modules里添加如下的syntax。在Options的toolbar里传入fontList。new Quill 后执行方法即可。
2023-10-12 16:53:45
1709
1
android websocket推送.zip
2019-11-12
jsoup-master.zip
2019-11-12
C语言学生成绩管理系统
2016-12-27
为什么会出现这个错误!我的项目也没出现错误标记!在线等!急!
2016-07-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人