参考网站:http://blog.nosqlfan.com/html/1455.html
redis-sharding 是一个由perl写的Redis 的proxy,使用它,你可以将数据分布存储在多个Redis实例上,而在操作数据时却像只操作一个实例一样。利用它相当于透明地解决了 Redis 单线程无法有效利用多核心服务器的问题。当然,我们更期待官方的cluster方案。
项目地址:https://github.com/kni/redis-sharding
架构:
/- Redis (node 1)
Client 1 --- /-- Redis (node 2)
Redis Sharding --- Redis (node 3)
Client 2 --- \-- Redis (node 4)
\- Redis (node 5)
启动redis-sharding,分别为使用默认host,port与指定host,port的方式:
perl redis_sharding.pl --nodes=10.1.1.2:6380,10.1.1.3:6380,... perl redis_sharding.pl --port=6379 --nodes=10.1.1.2:6380,10.1.1.3:6380,... perl redis_sharding.pl --host=10.1.1.1 --port=6379 --nodes=10.1.1.2:6380,10.1.1.3:6380,...
redis-sharding还支持重新切分数据,但这需要暂时停掉proxy,下面是将原来的db 9的数据重新sharding到B1-B5五个实例上:
停掉redis-sharding后再执行:
perl resharding.pl --db=9 --from=A1 --nodes=B1,B2,B3,B4,B5 perl resharding.pl --db=9 --from=A2 --nodes=B1,B2,B3,B4,B5
然后再启动新的管理B1-B5的redis-sharding实例即可:
perl redis_sharding.pl --nodes=B1,B2,B3,B4,B5
Redis-Sharding是一个Perl编写的Redis代理,用于将数据分布存储在多个Redis实例上,实现透明解决Redis单线程无法有效利用多核心服务器的问题。文章详细介绍了Redis-Sharding的架构、启动方式、数据重新分片过程,并提供了实践指导。
621

被折叠的 条评论
为什么被折叠?



