Redis缓存方案

 

数据分析:

公司名+年份

针对现有3000万真实数据跑测试:

 

机器配置:3G内存+centos虚拟机

redis-benchmark测试结果:

SET:20000/s

GET:30000/s

 

统计数据:

Redis的Hashkey节点数:4096

平均每节点数:4000

每节点涉及的用户数据:1.5

4096*4000*1.5=24576000故与真实数据一致。

占用内存大小:1.7G

 

数据估算:

如将数据扩大10倍:

即3亿真实数据中:公司名+年份所占用内存大小≈20G。

即3亿真实数据中:教育经历+年份所占用内存大小≈20G。

共≈40G。

 

php哈希一致性:

Flexihash:https://github.com/pda/flexihash/
Redis一致性hash:http://blog.csdn.net/e421083458/article/details/44307165


解决方案:

 

机器配置:

内存32G机器4台:A#1、A#2、B#1、B#2。

A#1与A#2互为主从,B#1与B#2互为主从,

 

冗余配置:

当A#1出现故障时Keepalived自动切换到A#2,并发邮件提醒管理员修复故障。

 

集群配置:

使用Hash一致性,提高因改动主机产生的数据命中率问题。

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐