Skip to main content

A Memcached like interface to Riak

Project description

Build Status Coverage Status PyPI version

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


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 details)

Uploaded Source

riakcached-0.1.0.tar.gz (6.9 kB view details)

Uploaded Source

File details

Details for the file riakcached-0.1.0.zip.

File metadata

  • Download URL: riakcached-0.1.0.zip
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for riakcached-0.1.0.zip
Algorithm Hash digest
SHA256 fe8585f384afa1878d616da1b7d8ef8f4eac27e49a1025b01a4e1b6e2fe5b9fb
MD5 27e480fc7279cfe50e674f0b3b5975b5
BLAKE2b-256 3db2b76c74e87f419a7708de2af76dd7c37dfec006b40cd82b0feba6862b4040

See more details on using hashes here.

File details

Details for the file riakcached-0.1.0.tar.gz.

File metadata

  • Download URL: riakcached-0.1.0.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for riakcached-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a6cbe0a770bb7d58b8c3abdf6ba7e0e0df1da76010c7611081017b63a0a2bbd6
MD5 2cd55cff146af6af4f68f1ced6d051d9
BLAKE2b-256 7b8aa9ca27fd8a118861a67bc80adfa3f63fe7650a4c950039662acb0e3bd147

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page