A lightweight Python client for accessing Kyoto Tycoon via its binary protocol.
The specification of the binary protocol is explained here.
$ pip install Cython
$ pip install python-kyototycoon-binary
>>> from bkyototycoon import KyotoTycoonConnection
>>> client = KyotoTycoonConnection()
>>> client.set_bulk({'key1': 'value1', 'key2': 'value2'})
2
>>> client.get_bulk(['key1', 'key2', 'key3'])
{'key2': 'value2', 'key1': 'value1'}
>>> client.remove_bulk(['key1', 'key2'])
1
>>> client.get_bulk(['key1', 'key2', 'key3'])
{'key1': 'value1'}
In our benchmark tests, python-kyototycoon-binary was about 6-8 faster than python-kyototycoon.
$ pip install python-kyototycoon
$ ktserver -dmn
$ python benchmarks/benchmark.py
python-kyototycoon-binary get_bulk qps: 30961
python-kyototycoon-binary set_bulk qps: 40320
python-kyototycoon-binary get_bulk_with_pool qps: 31722
python-kyototycoon-binary set_bulk_with_pool qps: 42961
python-kyototycoon get_bulk qps: 4394
python-kyototycoon set_bulk qps: 4534
Documentation is available at http://python-kyototycoon-binary.readthedocs.org.