redis集群如何解决key不均匀?

mongodb,redis,hbase,三者都是nosql数据库,他们的最大区别和不同定位是什么?

1. 如果你对数据的读写要求极高,并且你的数据规模不大,也不需要长期存储,选redis;

创新互联网站建设公司,提供网站设计制作、做网站,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!

2. 如果你的数据规模较大,对数据的读性能要求很高,数据表的结构需要经常变,有时还需要做一些聚合查询,选MongoDB;

3. 如果你需要构造一个搜索引擎或者你想搞一个看着高大上的数据可视化平台,并且你的数据有一定的分析价值或者你的老板是土豪,选ElasticSearch;

4. 如果你需要存储海量数据,连你自己都不知道你的数据规模将来会增长多么大,那么选HBase。

而对于分布式数据库的选择,初步来看实际上可以分为三类

1. 偏基于Hadoop体系架构和分布式存储的,类似HDFS库和HBase数据库,也包括中间类型MongoDB

2. 偏内存和缓存类的,类似Redis库

3. 偏全文检索类和数据分析类的,类似ElasticSearch和Solr库

mongodb定位于关系型数据库。文档型数据库。

redis定位于缓存。key value数据库。

hbase定位于大数据。列存储数据库。

最大的区别就在于数据结构不同,应用场景不同。

mongodb存储JSON格式数据,可以当作关系型数据库的一个补充,一般我应用在操作日志或者用户访问日志方面;

redis是KEY-VALUE存储,优势是读快,一般数据放在内存中,会周期性把内存中数据与硬盘同步,一般我应用在系统的缓存上;

hbase来源于hadoop,一般配合hadoop系统,应用在大数据方面;

redis集群如何解决key不均匀?

redis集群如何解决key不均匀。这里的不均匀如果指的是key分配到不同节点上数量不均匀那么可以采用Redis-Cluster集群解决。

Redis-Cluster key分配的算法

集群的key并不是按一个节点一个节点顺序存储,一个存满再存下一个节点。这样会导致单点压力很大,其他节点闲置的情况。在Redis-Cluster集群方案中,数据的分配是按照槽位来进行分配的,每一个数据的键被哈希函数映射到一个槽位,redis-3.0.0规定一共有16384个哈希槽位。当需要在 Redis 集群中放置一个 key-value 时,redis 会先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点中。

以上就是redis key不均匀的解决方案,希望对你有所帮助。

到此,以上就是小编对于redis丢失数据怎么定位出来的问题就介绍到这了,希望这2点解答对大家有用。

网页题目:redis集群如何解决key不均匀?
文章地址:http://www.shufengxianlan.com/qtweb/news13/98913.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联