A Memcached like interface to Riak
Project description
A Memcached like interface to the Riak HTTP Client. Read The Docs
Installing
From PyPI
pip install riakcached
From Git
git clone git://github.com/brettlangdon/riakcached.git
cd ./riakcached
pip install -r requirements.txt
python setup.py install
Usage
Basic Usage
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
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
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 riakcached.clients.ThreadedRiakClient which inherits from 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
git clone git://github.com/brettlangdon/riakcached.git
cd riakcached
pip install -r docs-requirements.txt
cd ./docs
make html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
riakcached-0.1.0.zip
(10.7 kB
view hashes)
riakcached-0.1.0.tar.gz
(6.9 kB
view hashes)