Memtransaction.py is a project mainly written in PYTHON and SHELL, based on the View license.
transaction over memcached for python
Pythonでmemcachedプロトコル吐いてmemcached互換なKVS上でobstruction-freeなトランザクションを行う。 Ruby実装のもあるんだけどスピードが出ないのでpypyに手を出した。
こんなふうに使う import memcache ←クライアントとしてmemcacheのを使う mc = memcache.Client(["127.0.0.1:11211"])
@transaction(mc) ←デコレータにクライアントのインスタンス def result(setter, getter): ←関数宣言のように見えるけれどこの場で実行される a = getter('a') ←setterとgetterを好きに使ってトランザクションができる b = getter('b') if a <= b: setter('a', a+1) else: setter('b', b+1) print 'a:',result['a'], ' b ',result['b'] ←トランザクション中で読み書きしたデータはキャッシュしておくので読める