首页 > 数据库 >java——redis随笔——实战——优惠券秒杀——分布式锁

java——redis随笔——实战——优惠券秒杀——分布式锁

时间:2023-10-28 21:14:56浏览次数:40  
标签:优惠券 java 互斥 Redis redis 插入 分布式系统 分布式

注意:synchronized用户单机(jvm)上面的锁,对于分布式应用则无能为力。所以对于分布式系统,则需要分布式锁。

 

  • 分布式锁:满足分布式系统或集群模式下多线程课件并且可以互斥的锁

  • 分布式锁的核心思想就是让大家共用同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行,这就是分布式锁的核心思路

 

 

 

 

 

 

Redis:Redis作为分布式锁是非常常见的一种使用方式,现在企业级开发中基本都是用Redis或者Zookeeper作为分布式锁,利用SETNX这个方法,

 

             如果插入Key成功,则表示获得到了锁,如果有人插入成功,那么其他人就回插入失败,无法获取到锁,利用这套逻辑完成互斥,从而实现分布式锁;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

标签:优惠券,java,互斥,Redis,redis,插入,分布式系统,分布式
From: https://www.cnblogs.com/xiaobaibailongma/p/17794621.html

相关文章

  • Redis 数据持久化方案
    今日目标掌握Redis数据持久化原理在分布式系统中,存储非结构化数据的中间件Redis是必不可少的,Redis在小、中、大甚至高并发系统中都有发挥起作用的场合,在之前我已经给大家介绍过Redis的基础数据结构(String/Hash/Set/ZSet/List)的增删改查操作。现在思考一个问题,Redis如果仅仅只是将......
  • [Java]Java初学之多线程03--同步与锁
    Intro本篇文章主要关于多线程"同步"以及"锁"的相关内容~正文同步(Synchronize)概念“同步”是基于“并发”的需求而出现的所谓并发,就是同一个对象被多个线程同时操作,比如两个人同时从同一个账户取钱,再比如春运抢票。多个线程同时使用一个资源,必然会造成混乱。想象一下从前......
  • 如何用JavaScript更改元素的类?
    内容来自DOChttps://q.houxu6.top/?s=如何用JavaScript更改元素的类?我该如何使用JavaScript响应onclick或其他事件来更改HTML元素的类?现代HTML5技术用于更改类现代浏览器添加了classList,它提供了更方便地操作类的方法,而无需使用库:document.getElementById("MyElement").c......
  • [ Redis 2 ] 持久化
    Redis_2持久化1.Redis.conf详解redis.conf从上向下详解1.1单位配置1redis对单位的大小写是不敏感的,单位可以是gb,GB,Gb等等。2可以包含其他配置文件的配置1.2网络配置绑定的ip和端口号bind127.0.0.1protected-modeyes#保护模式port63791.3通用配置Gener......
  • JavaFrame
    1.课程回顾在本人大三时修了JavaWeb编程和Java框架编程,这两门的课程结构大致是这样:JavaWeb:Java框架:Web开发基础Maven工具Servlet基础Spring框架ServletAPI核心接口SpringMVC会话跟踪数据持久化技术数据访问与JavaBeanBootstrap,Javascript,Iframe,Ajax......
  • Java Hotspot G1 GC 原理
    目录原理概念初始堆占用情况标记RememberSet原理CardTableCollectSet停顿预测模型G1的垃圾回收过程对象分配线程本地分配缓冲区Eden区中分配Humongous区分配堆内存结构传统的GC收集器G1收集器G1垃圾收集周期YoungGCYoungGC总结MixedGC全局并发标记初始标记根区域扫描......
  • 根据ip获取位置信息java
    通常情况下根据内网ip很难获取到位置信息然而根据外网ip获取相对来说比较简单那么如何获取外网ip呢?很简单有很多种方式第一种是通过命令行的方式第二种是通过直接访问该地址https://api.ipify.org/获取到之后直接调用现成的api,替换成自己的外网ip即可获取到位置信息并不是所有的......
  • 一文掌握Java Stream API
    引言JavaStreamAPI自Java8引入以来,已成为处理集合数据的强大工具。它不仅提高了代码的可读性,还优化了性能,使得集合操作变得更加简洁和高效。本文将深入探讨如何利用StreamAPI的常用操作,帮助你更好地掌握这一强大的功能。JavaStreamAPI简介JavaStream是Java8引入的......
  • Java面试专题
    Java面试专题面试题背后的逻辑->拆分问题讲解->回答方式及参考问题Redis篇使用场景1、你在最近的项目中哪些场景使用了redis?缓存:缓存击穿,缓存穿透,缓存雪崩,双写一致性,数据过期策略,数据淘汰策略分布式锁:setnx,redission2、什么是缓存穿透,怎么解决?缓存穿透:查询一个不存在......
  • javaweb--JDBC的API-Connection
    1、获取执行SQL对象2、管理事务setAutoCommit(bool)true为自动提交false为手动提交commit()提交事务rollback()回滚事务packagecom.avb.jdbc;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importjava.sql.Statement;public......