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 can 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)
Change History
0.1.2 (2011-06-01)
add MANIFEST.in file
0.1.1 (2011-05-29)
create hashring use server’s name config.
0.1 (2011-05-28)
first version
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.