Spring自调用导致注解失效
解决方法的核心在于理解Spring事务管理的实现原理——代理模式(Proxy)。 首先拆解一下这个问题和解决方案。 1. 什么是“自调用”? 假设你有一个 Us...
【项目日记】第七天 秒杀优化
1 秒杀优化-异步秒杀思路 我们来回顾一下下单流程 当用户发起请求,此时会请求nginx,nginx会访问到tomcat,而tomcat中的程序,会进行串行操作...
【项目日记】第六天 分布式锁-redission
1 分布式锁-redission功能介绍 基于setnx实现的分布式锁存在下面的问题: 重入问题:重入问题是指 获得锁的线程可以再次进入到相同的锁的代码块中,可...
【项目日记】第五天 分布式锁(Redis分布式锁|Lua脚本)
上一篇中在最后指出了在集群环境下的并发问题,也就是在集群环境下会有多台JVM,每个JVM都对应着一个自己的锁监视器,锁不是统一管理的,这就是问题所在,所以我们这...
【项目日记】第四天 优惠券秒杀(乐观锁解决超卖|悲观锁解决一人一单)
1.全局唯一ID 两个问题:什么是全局唯一ID?为什么要使用全局唯一ID 1.1.什么是全局唯一ID 全局唯一ID(如雪花算法、Redis自增ID、UUID)是...
【项目日记】第三天 缓存相关
1.缓存(Cache) 1.1.核心概念 缓存是一种临时存储数据的高速存储层,用于提升系统性能,减少对慢速数据源(如数据库、API)的频繁访问。 1.2.核心特...
【项目日记】第二天 完成短信登录
1.导入文件,运行项目 当前项目的模型示意图: 模型介绍: 手机或者app端发起请求,请求我们的nginx服务器,nginx基于七层模型走的事HTTP协议,可以...
【项目日记】第一天 Redis快速入门
在苍穹外卖时初步学习了Redis的一些基本知识和使用方法,这篇可以作为一个复习 1.初识Redis 1.1.Redis简介 Redis全称Remote Dict...