-
Redis分布式锁实例分析讲解
1 一人一单并发安全问题 之前一人一单的业务使用的悲观锁,在分布式系统下,是无法生效的。 理想的情况下是这样的:一个线程成功获取互斥锁,并对查询订单并创建订单,其他线程无法干预。它的原理是会有一个锁监视器,来监听是谁获得了锁。 但是问题就出现在: 分布式系统下,有多个不同的JVM,不同的JVM的环境下,锁监听器是有多个的,就会出现有的线程在别的线程已经拿到···
- 发布时间:2025-05-17
- 作者:益华网络
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
Redis优惠券秒杀解决方案
1 实现优惠券秒杀功能 下单时需要判断两点:1.秒杀是否开始或者结束2.库存是否充足 所以,我们的业务逻辑如下 1. 通过优惠券id获取优惠券信息 2.判断秒杀是否开始,如果未返回错误信息 3.判断秒杀是否结束,如果已经结束返回错误信息 4.如果在秒杀时间内,判断库存是否充足 5.如果充足,扣减库存 6.创建订单信息,并保存到优惠券订单表中 6.1 保存订···
- 发布时间:2025-05-17
- 作者:益华网络
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
Redis并发访问问题详细讲解
前言 我们在使用Redis的过程中,难免会遇到并发访问及数据更新的问题。但很多场景对数据的并发修改是很敏感的,比如库存数据如果没有做好并发读取和更新的版本控制,就会导致严重的业务问题。今天就来说说应该如何做好并发访问及数据更新问题。 什么场景需要控制并发访问 需要控制并发访问,说明这些并发的访问可能会对其他的访问造成影响。比如上面提到的库存问题,若同一时期···
- 发布时间:2025-05-17
- 作者:益华网络
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
Redis解决优惠券秒杀应用案例
虽然本文是针对黑马点评的优惠券秒杀业务的实现,但是是适用于各种抢购活动,保证线程安全。 摘要:本文先讲了抢购问题,指出其中会出现的多线程问题,提出解决方案采用悲观锁和乐观锁两种方式进行实现,然后发现在抢购过程中容易出现一人多单现象,为保证优惠券不会被【黄牛】抢到,因此我们在保证多线程安全的情况下实现了一人一单业务,最后指出本文的实现在集群情况下的不足之处。···
- 发布时间:2025-05-17
- 作者:益华网络
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
如何基于Session实现短信登录功能
一、基于Session实现登录 1.1 业务流程图 二、发送短信验证码 2.1 发送短信请求方式及参数说明 这个地方为什么需要session? 因为我们需要把验证码保存在session当中/** * 发送手机验证码 */ @PostMapping("code") public Result sendCode(@RequestParam("phone") S···
- 发布时间:2025-05-17
- 作者:益华网络
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
一篇文章带你彻底搞懂Redis 事务
Redis 事务简介 Redis 只是提供了简单的事务功能。其本质是一组命令的集合,事务支持一次执行多个命令,在事务执行过程中,会顺序执行队列中的命令,其他客户端提交的命令请求不会插入到本事务执行命令序列中。命令的执行过程是顺序执行的,但不能保证原子性。无法像 MySQL 那样,有隔离级别,出了问题之后还能回滚数据等高级操作。后面会详细分析。 Redis ···
- 发布时间:2025-05-17
- 作者:益华网络
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
Redis BloomFilter布隆过滤器原理与实现
Bloom Filter 概念 布隆过滤器(英语:Bloom Filter)是1970年由一个叫布隆的小伙子提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。 Bloom Filter 原理 布隆过滤器的原理是,当一···
- 发布时间:2025-05-17
- 作者:益华网络
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
如何保证Mongodb和数据库双写数据一致性?
前言 最近在我的技术群里,有位小伙伴问了大家一个问题:如何保证Mongodb和数据库双写的数据一致性? 群友们针对这个技术点讨论的内容,引起了我的兴趣。 其实我在实际工作中的有些业务场景,也在使用Mongodb,也遇到过双写的数据一致性问题。 今天跟大家一起分享一下,这类问题的解决办法,希望对你会有所帮助。 1.常见误区 很多小伙伴看到双写数据一致性问题,···
- 发布时间:2025-05-17
- 作者:益华网络
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
SpringBoot整合redis及mongodb的详细过程
NoSQL数据库之中最具代表性的,当属键值对数据库类别下的Redis,以及文档型数据库的Mongodb,本节我们重点关注这两个产品在SpringBoot下的整合及使用 最近很忙,好不容易才抽出了时间,咱们接上回 上次我们主要讲了如何通过SpringBoot快速集成mybatis/mybatis-plus,以实现业务交互中的数据持久化,而这一切都是基于关系型···
- 发布时间:2025-05-17
- 作者:益华网络
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
Mongodb 如何将时间戳转换为年月日日期
Mongodb将时间戳转换为年月日日期 使用dateToString 方法进行转换 并且通过format指定转换日期格式 ?
- 发布时间:2025-05-17
- 作者:益华网络
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])