后端

Redis实现高并发扣减库存,秒杀功能(可线上使用)

常见秒杀方案设计: 1.数据库行锁 2.分布式锁+分段锁提升效率 3.Redis单线程机制,将库存放在Redis里面使用 set count 1000 decrby count 1 扣减库存,返回正数就可扣减库存 4.Redis+Lua脚本,查询库存和扣减库存放到Lua脚本里面去执行 这是一个原子操作,解决高并发下线程安全问题 总结:简单利用redis的LUA脚本功能,一次性操作,实现原子性

ChatGPT 协作排查:Node.js 内存泄漏的定位与修复

ChatGPT 协作排查:Node.js 内存泄漏的定位与修复 🌟 Hello,我是摘星! 🌈 在彩虹般绚烂的技术栈中,我是那个永不停歇的色彩收集者。 🦋 每一个优化都是我培育的花朵,每一个特性都是我放飞的蝴蝶。 🔬 每一次代码审查都是我的显微镜观察&#xff0

用度量思想来解释线,面,体的度量

用度量思想来解释线、面和体的度量,首先就要了解度量思想,度量思想一共分为三步: ①发明一个单位。 ②沟通单位与被测物之间的关系 ③统一单位 这就是度量思想的三步,如果要度量一条线,那么,首先就需要发明一个单位,我这个单位就是一个点,如果要沟通被测物与单位之间的关系,那么就有两种方法,第一种方法就是平移,第二种方法则是拉伸,如果用第一种方法,那么就需要一个点向任意方向直线平移: 我

如何打破死循环20230219

如果一段代码需要测试,那么如何保证测试的正确性,面对这样一个问题怎么去解决。 这个问题其实是一个死循环的问题,如果要去验证测试是否正确,那么就需要去测算,那么测算之后,又会带来一个问题,如何保证测算的正确性下,你无论做什么,下一步是会问如何保证上面操作的正确性,进入一个死循环,没有尽头。 面对这个问题有解吗? 是有解的,这个解决方案就是,找到一个不证自明的点,将这一点作为循环的终点,一旦遇到

基于SpringBoot及PostgreSQL的国家减肥食谱管理项目(中):食谱与菜单配置搭建

目录前言一、项目需求简介1、需求简介2、本次实现介绍二、SpringBoot后端实现1、Model实现2、业务层实现2.1关于返回数量限制2.2父子表单的后台新增实现2.3父子表单的后台编辑实现三、Thymeleaf前端实现1、食谱管理实现2、餐别及详情实现3、父子表单提交四、总结前言        在当今社会,健康意识的觉醒促使越来越多的人关注减肥与营养均衡。减肥不仅关乎外在形象&

SpringDoc 基本使用指南

SpringDoc 是基于 Spring Boot 的现代化 API 文档生成工具,通过自动化扫描代码和注解,生成符合 OpenAPI 3.0+ 规范 的交互式文档,并集成 Swagger UI 提供可视化测试界面。以下是其核心详解: 核心特性与优势 开箱即用 仅需添加依赖,无需复杂配置即可自动生成文档,

SpringAI 大模型应用开发篇-纯 Prompt 开发(舔狗模拟器)、Function Calling(智能客服)、RAG (知识库 ChatPDF)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录        1.0 大模型应用开发技术框架        2.0 纯 Prompt 模式        2.1 核心策略        2.2 减少模型"幻觉"的技巧        2.3 提示词攻击防范        2.4 纯 Prompt 大

【冒泡排序算法详解】Java/Go/Python/JS/C不同语言实现

Java/Go/Python/JS/C 语言实现冒泡排序算法 说明 冒泡排序(Bubble Sort)又称为泡式排序,是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。即通过遍历待排序的数列,一次比较两个元素,根据大小调换位置,直到把最大的或最小的冒出来。 实现过程 先建立两个循环,外循环用于遍历整个数组,内循环遍历待排序的区间。 内循环每次

JVM 优化踩坑记

本文记录了服务 JVM 优化的过程与思路,有对 JVM GC 原理以及对问题排查方向和工具的介绍,也有走弯路和踩坑,分享出来希望对大家有所帮助。 本文概要 服务异常和排查过程 RPC 接口超时的排查方向 问题根因和解决方案 JVM GC 原理与优化过程 基础工具简要介绍与使用 尝试 RPC 服务调用方反馈服务有时会有超时。 查看服务管理平台发现有客户端调用超时,调用方的超时时间设置为 1s