Redis实战(黑马点评--分布式锁)

摘要: 基本原理和不同的实现方式 分布式锁的核心思想就是让大家共用同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行,这就是分布式锁的核心思路 可见性:多个线程都能看到相同的结果。 注意:这里说的可见性并不是并发编程中指的内存可见性,只是说多个进程之间都能感知到变化的意思 互斥:互斥是分布式锁的最 阅读全文
posted @ 2023-07-06 21:47 夏雪冬蝉 阅读(411) 评论(0) 推荐(0) 编辑

Redis实战(黑马点评--优惠券秒杀)

摘要: Redis实现全局唯一ID 在各类购物App中,都会遇到商家发放的优惠券 当用户抢购商品时,生成的订单会保存到tb_voucher_order表中,而订单表如果使用数据库自增ID就会存在一些问题 id规律性太明显 受单表数据量的限制 如果我们的订单id有太明显的规律,那么对于用户或者竞争对手,就很容 阅读全文
posted @ 2023-07-01 00:06 夏雪冬蝉 阅读(445) 评论(0) 推荐(0) 编辑

Redis实战(黑马点评--商户查询缓存)

摘要: 为什么使用缓存 添加商户缓存 ShopController层 /** * 根据id查询商铺信息 * @param id 商铺id * @return 商铺详情数据 */ @GetMapping("/{id}") public Result queryShopById(@PathVariable("i 阅读全文
posted @ 2023-06-30 15:48 夏雪冬蝉 阅读(350) 评论(0) 推荐(0) 编辑

Redis实战(黑马点评--短信登录)

摘要: 系统介绍 短信登录 这部分会使用Redis共享session来实现 用Redis替换session来存储邮箱验证码 商户查询缓存 这部分要理解缓存击穿,缓存穿透,缓存雪崩等问题,对于这些概念的理解不仅仅是停留在概念上,更是能在代码中看到对应的内容 优惠券秒杀 这部分可以学会Redis的计数器功能,结 阅读全文
posted @ 2023-06-26 23:44 夏雪冬蝉 阅读(247) 评论(0) 推荐(0) 编辑

DTO 与 Entity的区别

摘要: entity:实体类,与数据库中的字段保持一致,用于表示某实体中所包含的所有属性。 DTO:数据传输对象,用于数据传输,根据业务需求来决定包含哪些属性。根据实际业务需求将数据返回给前端,避免造成不必要的资源浪费和数据暴露,造成不必要的安全问题。 阅读全文
posted @ 2023-06-24 21:18 夏雪冬蝉 阅读(403) 评论(0) 推荐(0) 编辑

十六、压力测试

摘要: 介绍 压力测试相关概念 使用JMeter对高并发优化前后的代码进行压测对比 压力测试相关概念 并发量:指在同一时间点内,系统中同时处理的用户请求数。(并发1000时,响应时间1s;并发5000时,响应时间5s,处理得慢一点,但也能处理。那么并发量到底是1000还是5000?) 响应时间:系统处理一个 阅读全文
posted @ 2023-06-21 19:51 夏雪冬蝉 阅读(124) 评论(0) 推荐(0) 编辑

十五、使用RocketMQ组件对请求做削峰处理

摘要: 内容 rocketMQ基本介绍 使用MQ,将购票流程一分为二。目前系统的吞吐量低,用户从购买车票到拿到票花费的时间较长。 增加排队购票功能。排队提示loading。 购票时序图 目前的时序图,用户发送购票请求,服务端校验验证码,拿令牌,拿锁,然后选座购票,结束流程才会返回。服务器执行时间太长。 增加 阅读全文
posted @ 2023-06-21 11:35 夏雪冬蝉 阅读(484) 评论(0) 推荐(0) 编辑

Redis基础

摘要: 什么是Redis 关系型数据库(SQL): 结构化(Structured):具有固定的格式,使用表以及表的约束。存储的信息要严格按照约束存储。表的结构不建议修改。 关联的(Relational):表与表之间往往存在关联,例如通过外键关联。数据库就维护这些关联。 SQL查询:所有关系型数据库通过SQL 阅读全文
posted @ 2023-06-12 19:39 夏雪冬蝉 阅读(44) 评论(0) 推荐(0) 编辑

Redis安装与启动(Linux)

摘要: 安装Redis依赖 yum install -y gcc tcl 上传安装包并解压 redis.io下载安装包,上传到/usr/local/src目录 解压 tar -zxvf redis-6.2.6.tat.gz 解压成功 进入安装目录,运行编译命令 cd redis-6.2-6/ make && 阅读全文
posted @ 2023-06-10 23:49 夏雪冬蝉 阅读(320) 评论(0) 推荐(0) 编辑

十五、高并发抢票时,防止机器人刷票的令牌大闸,可减轻服务器的压力(防刷+限流)

摘要: 介绍 为什么引入令牌大闸? 分布式锁和限流都不能解决机器人刷票问题,1000个请求抢票,900个限流快速失败,另外100个人有可能是同一个人在刷库。引入令牌功能,令牌记录用户信息,一旦用户拿到令牌,那么几秒钟之内不能重新拿到令牌。 没有余票时,需要查库存才知道没票,会影响性能,不如查令牌存量来的快。 阅读全文
posted @ 2023-06-06 23:56 夏雪冬蝉 阅读(433) 评论(1) 推荐(0) 编辑