首页 > 数据库 >redis分布式锁-解决同一资源多人获取锁定与释放问题

redis分布式锁-解决同一资源多人获取锁定与释放问题

时间:2022-11-29 19:00:20浏览次数:50  
标签:解锁 redis 问题 使用 螺丝刀 锁定 分布式

业务逻辑大概是,一个螺丝刀,有人在用了,其他人无法使用,等待使用完成后另外一个人才能使用

描述下一路遇见的问题

  • 分布式情况下需要用到分布式锁(用redis)
  • 开启使用螺丝刀时,需要弹出新标签页。会导致后面关闭的触发会有问题
  • 因为前端项目的逻辑问题,需要使用同一路径跳转然后再弹出窗口,这样速度慢,但是目前没有其他解决方案
  • 因为弹出新标签需要加载基础信息、需要等一阵才会加载获取螺丝刀的方法,在这个时间突然关闭,结束的方法则会比开始的方法快一些,导致螺丝刀一直被使用中(主要问题)

 

最后一个问题的解决方法是在开始与结束时添加分布式锁,在开始时加锁直到修改螺丝刀的状态后才解锁,而解锁的方法则需要判断是否在正在开启螺丝刀使用状态,是则阻塞继续等待螺丝刀开启完成后才解锁螺丝刀。

标签:解锁,redis,问题,使用,螺丝刀,锁定,分布式
From: https://www.cnblogs.com/yoobiao/p/16936397.html

相关文章

  • 浪潮分布式存储 夯实国家电网电路智能巡检数据底座
    国家电网承担着保障安全、经济、清洁、可持续电力供应的基本使命。电网作为供电、输电的主要载体,覆盖国土面积的88%以上,服务超过11亿人口。电网的安全、稳定、经济运行至关......
  • Redis详解(二)——AOF
    转载Redis详解(二)——AOF前言RDB持久化存在一个缺点是一定时间内做一次备份,如果redis意外down掉的话,就会丢失最后一次快照后的所有修改(数据有丢失)。对于数据完整性要......
  • redis入门
    概述redis是什么Redis(RemoteDictionaryServer),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多......
  • linux中使用docker创建redis容器镜像
    redis也是一种数据库,创建过程基本与mysql容器差不多,不过语法上稍有不同cd/rootmkdirredisdockersearchredisdockerpullredisdockerimagesdockerrun-p638......
  • 矩池云|GPU 分布式使用教程之 TensorFlow
    GPU分布式使用教程之TensorFlowTensorFlow提供了6种策略实现分布式计算,各个策略详情请参考官方文档。本文档使用MirroredStrategy实现单机多卡分布式,MultiWorkerMirr......
  • redis 配置说明
    #Redis配置文件#当配置中需要配置内存大小时,可以使用1k,5GB,4M等类似的格式,其转换方式如下(不区分大小写)##1k=>1000bytes#1kb=>1024bytes#1m=>1000000......
  • 华为分布式数据库gaussdb,代理长连接会把查询语句分别到主节点上的优化思考
    智能刊登Gaussdb优化点 :1.确定是查询的语句,可以通过hint语句指定在读节点上查询,避免因代理长连接到主节点查询;用法:/*forceSLAVE*/SELECTCOUNT(1)assuccessFROM......
  • pytorch分布式训练 DDP torchrun用法
    master的端口默认是29500,如果被占用了就换一个torchrun--master_port61234--nproc_per_node$gpu_numtrain.py...shell脚本:exportCUDA_VISIBLE_DEVICES=$1gpu_n......
  • Centos7 搭建单机Spark分布式集群
    (目录)1.JDKHadoopSpark安装与配置1.1解压包官网下载jdk、hadoop、sprak对应的包,注意版本tar-zxvfjdk-8u241-linux-x64.tar.gztar-zxvfhadoop-3.2.2.tar.gz ......
  • 基于redis实现秒杀下单
    秒杀下单应该思考的内容:下单时需要判断两点:秒杀是否开始或结束,如果尚未开始或已经结束则无法下单库存是否充足,不足则无法下单下单核心逻辑分析:当用户开始进行下......