首页 > 数据库 >redis超卖(分布式锁) setnx排他独占 最终效果,既可以防止死锁,又可以设置过期时间

redis超卖(分布式锁) setnx排他独占 最终效果,既可以防止死锁,又可以设置过期时间

时间:2023-02-07 18:47:03浏览次数:43  
标签:过期 redis 获取 死锁 setnx 超卖

热点key过期,加一个锁,抢占到锁才会去查询mysql数据库,然后查到数据后重新写入redis,

几百台服务器,几十个热点数据,不能用jvm锁

 

  

 

 

 

 

 

 

 

 

 --------------------------------------------------------------------

重试问题  重试了几次,库存就会扣减几次

 

 一定要有else机制才行

 

 ----------------------------

从递归调用到while循环 

一直尝试获取锁,获取锁之后,开始执行下面的try

 

 不停的cas自旋获取锁,去掉休眠,就会导致锁的竞争压力变得更大了

 

 

 在循环获取锁的过程中,宕机了,锁无法释放

 

 

  

 

 

  

 

 

 

 

标签:过期,redis,获取,死锁,setnx,超卖
From: https://www.cnblogs.com/ZhangZiXue/p/17099458.html

相关文章

  • 一文搞懂Redis
    作者:京东物流刘丽侠姚再毅康睿刘斌李振一、Redis的特性1.1Redis为什么快?基于内存操作,操作不需要跟磁盘交互,单次执行很快命令执行是单线程,因为是基于内存操作,单次执行......
  • 单线程架构的Redis如此之快的 4 个原因
    前言作为内存中数据存储,Redis以其速度和性能着称,通常被用作大多数后端服务的缓存解决方案。但是,在内部,Redis采用单线程架构。为什么单线程设计依然会有这么高的性能?如......
  • redisson分布式锁的应用——秒杀、超卖 简单例子(分布式锁相关)
    1、常见的分布式事务锁1、数据库级别的锁乐观锁,给予加入版本号实现悲观锁,基于数据库的forupdate实现2、Redis,基于SETNX、EXPIRE实现3、Zookeeper,基于InterProcess......
  • Redis 压缩包单节点安装
    下载Redis稳定版本直接下载或者去官网自行下载​​Download|Redis​​wgethttps://download.redis.io/redis-stable.tar.gz编译Redistar-xzvfredis-stable.tar.gzcdre......
  • 复习redis持久化的两种方式RDB和AOF
    redis持久化----两种方式1、redis提供了两种持久化的方式,分别是RDB(RedisDataBase)和AOF(AppendOnlyFile)。2、RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并......
  • Redis的十六种应用场景
    Redis16个常见使用场景这个场景最开始是是一篇介绍微博Redis应用的PPT中看到的,其中提到微博的Redis主要是用在在计数和好友关系两方面上,当时对好友关系方面的用法不太了......
  • redis各种数据类型进行操作
    1.数据操作Dao /***RedisManager操作类*使用SpringDataRedis进行整合**@authoryy*@since1.0.0,2019年08月20日*/@ComponentpublicclassRedisM......
  • Redis面试题
    一、Redis是什么?Redis是一个key-value存储系统,它支持存储的value类型相对更多,包括string、list、set、zset(sortedset--有序集合)和hash。这些数据结构都支持push/pop、add......
  • Redis 实战篇 Part 1
    ......
  • Redis性能调优基础
    Redis架构分析              计算交集和并集          命令执行流程            RDB快照机制......