Home > memtransaction.py

memtransaction.py

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'] ←トランザクション中で読み書きしたデータはキャッシュしておくので読める