Skip to main content

Redis Sharding API

Project description

Redis Shard

A redis sharding api. Sharding is done based on the CRC32 checksum of a key or key tag (“key{key_tag}”), according to this article http://antirez.com/post/redis-presharding.html .

Useage

Creating a hash ring with multiple servers,By default the hash ring uses a crc32 hashing algorithm on the server’s name config.You can define the name anything as you like,but it must be unique.

I don’t want to bind the hashring with ipaddress,because if I do some master/slave switches, I only change the ipaddress related config, the name is kept,so the hashring’s order is kept.

>>> from redis_shard.shard import RedisShardAPI
>>> servers = [
    ...    {'name':'server1','host':'127.0.0.1','port':10000,'db':0},
    ...    {'name':'server2','host':'127.0.0.1','port':11000,'db':0},
    ...    {'name':'server3','host':'127.0.0.1','port':12000,'db':0},
    ...    {'name':'127.0.0.1:13000','host':'127.0.0.1','port':13000,'db':0},
    ...    ]
>>>
>>> client = RedisShardAPI(servers)
>>> client.set('test',1)
>>> print client.get('test')
>>> client.zadd('testset','first',1)
>>> client.zadd('testset','second',2)
>>> print client.zrange('testset',0,-1)

Hash tags

see article http://antirez.com/post/redis-presharding.html for detail.

>>> client.set('foo',2)
>>> client.set('a{foo}',5)
>>> client.set('b{foo}',5)
>>> client.set('c{foo}',5)

Change History

0.1.1 (2011-05-29)

create hashring use server’s name config.

0.1 (2011-05-28)

first version

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

redis-shard-0.1.1.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

redis_shard-0.1.1-py2.6.egg (7.5 kB view details)

Uploaded Egg

File details

Details for the file redis-shard-0.1.1.tar.gz.

File metadata

  • Download URL: redis-shard-0.1.1.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for redis-shard-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3cd3db4dfd5b15f33c104fded5413dcd5cd1a4b5d3be01f39f978cf2a21e1b07
MD5 023ca968f5bcd97612872c28bf6997f1
BLAKE2b-256 f5970521fd01bb73a824fd322a18feb4e80b2f372a1ec03613b6dfcbbaae9a4a

See more details on using hashes here.

File details

Details for the file redis_shard-0.1.1-py2.6.egg.

File metadata

File hashes

Hashes for redis_shard-0.1.1-py2.6.egg
Algorithm Hash digest
SHA256 e42ca530abb8fc98b3b1bff5d9c631c1330014df7568f8e18a0f42c744f20ce3
MD5 10dc94ff582da3c861e7bf67fd333ce6
BLAKE2b-256 729ccfee82c5d4d00e82b84f8f5cf0facece5d4ebe39b1d710f90615af53a97f

See more details on using hashes here.

Supported by

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