Contents:
A Memcached like interface to the Riak HTTP Client. Read The Docs
pip install riakcached
git clone git://github.com/brettlangdon/riakcached.git
cd ./riakcached
pip install -r requirements.txt
python setup.py install
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()
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")
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)
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.