跳转到主要内容

使用memcache作为锁服务器

项目描述

使用memcache作为锁服务器的Python模块。

免责声明:此代码受unimr.memcachedlock的启发。我认为我可以编写一个更简单的MemcachedRLock类版本,以保持依赖项最少(Python内置函数加上python-memcache),并强制支持gets/cas API。

警告:到目前为止,进行的测试很少。在将其用于任何地方之前,请更好地审查和压力测试此代码。

示例用法:import memcachelock import memcache # python-memcached在没有cache_cas的情况下无法正确执行cas mc = memcache.Client([‘127.0.0.1:11211’], cache_cas=True) # 非重入锁 mclock = memcachelock.Lock(mc, ‘foo_resource’) # 每个连接的重入锁 mcrlock = memcachelock.RLock(mc, ‘foo_resource’) # 每个连接和每个线程的重入锁 rmcrlock = memcachelock.ThreadRLock(mc, ‘foo_resource’)

所有锁实例都具有与thread.LockType相同的API(截至Python 2.7)。‘foo_resource’是任何可以作为memcache键使用的字符串,用于标识此锁保护的资源。在Zope世界中,它可能是一个可遍历对象的路径,或数据库标识符加一些数据库范围内的唯一标识符...

项目详情


下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。

源代码分发

memcachelock-0.4.tar.gz (6.2 kB 查看哈希值)

上传时间 源代码

支持