Riakcached documentation ======================== Contents: .. toctree:: :maxdepth: 2 clients exceptions pools |Build Status| |Coverage Status| |PyPI version| A Memcached like interface to the Riak HTTP Client. `Read The Docs `__ Installing ---------- From PyPI ~~~~~~~~~ .. code:: bash pip install riakcached From Git ~~~~~~~~ .. code:: bash git clone git://github.com/brettlangdon/riakcached.git cd ./riakcached pip install -r requirements.txt python setup.py install Usage ----- Basic Usage ~~~~~~~~~~~ .. code:: python from riakcached.clients import RiakClient client = RiakClient("my_bucket") client.set("hello", "world") print client.get("hello") # 'hello' client.delete("hello") print client.get("hello") # None values = { "hello": "world", "foo": "bar", } client.set_many(values) keys = ["hello", "foo", "test"] print client.get_many(keys) # {'foo': 'bar', 'hello': 'world'} client.close() Connection Pool Settings ~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: bash from riakcached.clients import RiakClient from riakcached.pools import Urllib3Pool pool = Urllib3Pool(base_url="http://my-host.com:8098/", timeout=1) client = RiakClient("my_bucket", pool=pool) client.get("foo") Custom Connection Pool ~~~~~~~~~~~~~~~~~~~~~~ .. code:: bash from riakcached.clients import RiakClient from riakcache.pools import Pool class CustomPool(Pool): __slots__ = ["connection"] def connect(self): self.connection = make_a_connection() def close(self): if self.connection: close_connection(self.connection) def request(self, method, url, body=None, headers=None): results = make_request(self.connection, method, url, body, headers, timeout=self.timeout) return results.status, results.data, results.headers custom_pool = CustomPool(base_url="http://my-host.com:8098", timeout=1) client = RiakClient("my_bucket", pool=pool) Threaded Client ~~~~~~~~~~~~~~~ The exists a :class:`riakcached.clients.ThreadedRiakClient` which inherits from :class:`riakcached.clients.RiakClient` and which uses threading to try to parallelize calls to ``get_many``, ``set_many`` and ``delete_many``. Documentation ------------- The documentation can be found in the ``/docs`` directory in this repository and should be fairly complete for the codebase. Building Documentation ~~~~~~~~~~~~~~~~~~~~~~ .. code:: bash git clone git://github.com/brettlangdon/riakcached.git cd riakcached pip install -r docs-requirements.txt cd ./docs make html Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` .. |Build Status| image:: https://travis-ci.org/brettlangdon/riakcached.png?branch=master :target: https://travis-ci.org/brettlangdon/riakcached .. |Coverage Status| image:: https://coveralls.io/repos/brettlangdon/riakcached/badge.png?branch=master :target: https://coveralls.io/r/brettlangdon/riakcached?branch=master .. |PyPI version| image:: https://badge.fury.io/py/riakcached.png :target: http://badge.fury.io/py/riakcached