用redis SETNX进行加锁

来源:互联网 发布:淘宝卖的衣服味道刺鼻 编辑:程序博客网 时间:2024/05/23 11:29

命令介绍:

SETNX key value

 

当 key 不存在,将 key 的值设为 value,返回1说明值被设置,
若给定的 key 已经存在,则 SETNX 不做任何动作,返回0说明值已经存在。 
注:SETNX 是SET if Not eXists的简写。

最近用python做短信平台时,需限制在同一时间禁止同一手机号连续发送短信的功能,便可用redis setnx实现加锁


通过手机号进行加锁,后面的时间为了解决死锁时使用

若有插入数据,插入完之后需释放锁

如:

await r.delete(['lock/' + params.get("mobile")])
代码须根据自己的框架积和封装代码进行修改

解决分布式死锁可查看以下文档:

http://blog.csdn.net/quanqxj/article/details/77532119





原创粉丝点击