现在redis是不支持分片/分区,当数据超出单机内存时,不得不考虑分区/分片的问题。需要人工通过hash分布数据的方式来解决单机内存用尽的情况,问一下大家有没有处理redis数据sharding方面的经验,分享分享
目前官方还没有提供,不过可以尝试使用redis-sharding,它可以将数据分布存储在多个Redis实例上,而在操作数据时却像只操作一个实例一样。利用它相当于透明地解决了Redis单线程无法有效利用多核心服务器的问题。
另外,它还支持重新切分数据,如将原来的db6的数据重新sharding到B1-B5五个实例上,通过简单地执行下面的命令即可:
perl resharding.pl --db=6 --from=A1 --nodes=B1,B2,B3,B4,B5
perl resharding.pl --db=6 --from=A2 --nodes=B1,B2,B3,B4,B5
可以参考一下这个:Redis sharding with Erlang
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。