美文网首页
Redis运用--锁

Redis运用--锁

作者: 爱上西瓜霜 | 来源:发表于2020-07-08 17:18 被阅读0次

    锁不是我们日常运用的锁,三斤重的锁往门上一挂,谁都进不来的那种。

    程序中的锁是在执行一个可能存在冲突的操作的时候,先看看有没有人已经操作了。比如说文件锁,在更改一个数据时,先加一个文件,user_1_do.txt,当另一个人要对同样的数据进行操作,先看锁在不在,在就先歇歇,等会儿操作,不在就加锁。当做完后,把锁去掉。

    但是IO操作还是有点慢啊,所以可以使用内存,直接使用redis,方便好用。

    setnx name True。这个操作啥意思?如果name不存在就创建。set name if not exit。

    del name。就是删除

    但是问题来了,设置完锁,进行完操作,进程死了,这个锁就加上了,谁也拿不下来,完蛋了。。。。

    所以设置过期时间 expire 5。不删除5秒后自动失效。

    但是在 setnx name True 和 expire 之间,进程死了怎么办?还是删不掉。redis添加了原子操作,就像Mysql的事物一样,要么同时成功,要么同时失败。

    setnx name True ex 5 nx

    妥了。

    ------看书笔记,过些时候回头看,自己给自己找茬。

相关文章

  • Redis运用--锁

    锁不是我们日常运用的锁,三斤重的锁往门上一挂,谁都进不来的那种。 程序中的锁是在执行一个可能存在冲突的操作...

  • 秒杀随笔

    方法: mysql悲观锁 mysql乐观锁 PHP+redis分布式锁 PHP+redis乐观锁(redis wa...

  • 大佬浅谈分布式锁

    redis 实现 redis 分布锁一、redis 实现分布式锁(可重入锁)redission 实现分布式锁1、对...

  • Redis实现分布式锁

    Redis实现分布式锁 一、Redis单节点实现 (一) 获取锁 使用 Redis 客户端获取锁,向Redis发出...

  • redis实现分布式锁

    一、分布式锁实现 原理:运用redis string类型存储策略进行实现。同时,设置string过期时间,防止死锁...

  • 分布式锁之redis-lua脚本

    目录 redis分布式锁,Lua,Lua脚本,lua redis,redis lua 分布式锁,redis set...

  • redis锁

    1、单节点的redis锁优点:快缺点:不安全(redis节点断电,网络不通,锁过期等等) 2、多节点redis锁,...

  • Redis分布式锁

    Redis分布式锁 实现 Redis 锁主要利用 Redis 的 setnx 命令。 加锁命令:SETNX key...

  • 死磕 java同步系列之redis分布式锁进化史

    问题 (1)redis如何实现分布式锁? (2)redis分布式锁有哪些优点? (3)redis分布式锁有哪些缺点...

  • 使用JVM提高秒杀系统性能

    前提 使用redis分布式锁,解决秒杀系统库存为零 继续扣减问题 redis分布式锁出现的问题 使用redis锁,...

网友评论

      本文标题:Redis运用--锁

      本文链接:https://www.haomeiwen.com/subject/gawccktx.html