Redis锁紧机构

jc-redlock-p的Python项目详细描述


redlock py-Python中的Redis分布式锁

这个python库实现了基于Redis的分布式锁管理器算法 [在这篇博文中描述](http://antirez.com/news/77)。在

要创建锁管理器,请执行以下操作:

dlm = Redlock([{“host”: “localhost”, “port”: 6379, “db”: 0}, ])

要获取锁:

my_lock = dlm.lock(“my_resource_name”,1000)

其中资源名是您试图锁定的内容的唯一标识符 1000是有效时间的毫秒数。在

如果未获取锁,则返回值为False(您可以再试一次), 否则,将返回一个表示锁的namedtuple,它有三个字段:

  • validity,表示锁有效的毫秒数的整数。在
  • 资源,用户指定的锁定资源的名称。在
  • 密钥,一个随机值,用于安全地回收锁。在

要解除锁定:

dlm.unlock(my_lock)

可以设置重试次数(默认为3)和重试次数 用于获取锁的延迟(默认为200毫秒)。在

免责声明:此代码实现了一个当前是建议的算法, 它没有被正式分析。在使用它之前,一定要了解它的工作原理 在您的生产环境中。在

麻省理工学院执照

版权所有(c)2014 SPS Commerce,Inc

兹免费准许任何人取得复制品 本软件及其相关文档文件(“软件”)的 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的使用者 根据以下条件提供:

上述版权声明和本许可声明应包括在 软件的所有副本或重要部分。在

本软件按“原样”提供,无任何形式的保证,明示或 包括但不限于适销性保证, 特定目的的适用性和非侵犯性。在任何情况下 作者或版权持有人应对任何索赔、损害赔偿或其他 无论是在合同诉讼、侵权诉讼或其他诉讼中,由以下原因引起的责任:, 与软件、软件的使用或其他交易有关的 软件。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在保存信息时切换类的“标准”方式是什么?   java JConsole,用于在JBoss AS7独立模式下远程访问JMX   Maven中未识别java CMD   java做。。虽然带开关菜单   java Javax内容不可访问   从cmd验证日期的java方法   安卓应用程序正在缓存java JSON   java正在尝试使用用户输入的参数创建随机数生成器   java Prompt=在keydove和Spring安全Oauth2之间登录   http没有在java中接收的字节数   在命令行上运行java应用程序(JAR文件)的命令行有我不理解的错误   我需要重命名我在java中生成的json对象的键   java Eclipse重命名/重构会影响javadoc上的变量引用吗?   Java:寻找一个库来读取LDAP数据   包含子实体的参数和数据表的java详细信息