redis中的map存储大量数据会有什么问题
2017-07-02 09:09
423 查看
Map{Key,filed,Value}
在redis集群中,是对Key做的hash,也就是说同一个key下的不同的field会落到集群中的某一个实例上,这时,如果这个key对应的field过多,导致数据不均匀。
针对上述情况,可以对数据进行partition,步骤如下:
1.提前设置好partition的数量N
2.对filed进行hash处理,得到hashcode
3.使用hashcode%N,得到一个partition值
4.将Key和partition合并生成key,KeyWithPartition
5.将数据存入该KeyWithPartition下面
这样可以将数据设置的均匀一些。
缺点:这样会增加key的数量,但是,这个影响应该不大。
在redis集群中,是对Key做的hash,也就是说同一个key下的不同的field会落到集群中的某一个实例上,这时,如果这个key对应的field过多,导致数据不均匀。
针对上述情况,可以对数据进行partition,步骤如下:
1.提前设置好partition的数量N
2.对filed进行hash处理,得到hashcode
3.使用hashcode%N,得到一个partition值
4.将Key和partition合并生成key,KeyWithPartition
5.将数据存入该KeyWithPartition下面
这样可以将数据设置的均匀一些。
缺点:这样会增加key的数量,但是,这个影响应该不大。
相关文章推荐
- 使用stringRedisTemplate操作redis hash结构数据只能存储String类型的问题
- 解决Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程问题
- 关于Spring Data Redis存储时key value数据的乱码问题
- Spark Shuffle六大问题 fetch操作、数据存储、文件个数、什么排序算法简单介绍
- Redis热数据存储问题
- Memcache存储大量数据的问题
- 【问题解决】Redis存储Hash-Map<String,Object>时无法序列化问题
- 用Redis存储大量数据
- 关于list中存储map数据重复问题
- (编程解决)List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个有什么区别?
- 关于管道的大量数据传输问题解决方法 ( vc )
- Oralce9i升级Oralce10g时大量数据迁移问题
- 函数中数据存储的问题
- Set List Map存储方式个各有什么不同
- 直接从SQL语句问题贴子数据建表并生成建表语句的存储过程
- 【z】几种不同存储形式下的数据挖掘问题
- 解决“从用户数据存储中检索信息时出错。未找到平台。”问题
- 解决“从用户数据存储中检索信息时出错。未找到平台。”问题。
- List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个有什么区别
- [原创]大量数据导出为Excel文件的问题解决(C#,ASP.NET)