在使用Redis过程中,我们发现了不少Redis不同于Memcached,也不同于MySQL的特征。下面学步园小编来讲解下Redis容量有哪些使用规划?
Redis容量有哪些使用规划
1.Schema
MySQL:需事先设计
Memcached:无需设计
Redis:小型系统可以不用,但是如果要合理的规划及使用Redis,需要事先进行类似如下一些规划
数据项:value保存的内容是什么,如用户资料
Redis数据类型:如String,List
数据大小:如100字节
记录数:如100万条(决定是否需要拆分)
上面的规划就是一种schema,为什么Redis在大型项目需要事先设计schema?因为Redis服务器有容量限制,数据容量不能超出物理内存大小,同时考虑到业务数据的可扩充性,记录数会持续增多、单条记录的内容也都会增长,因此需要提前规划好容量,数据架构师就是通过schema来判断当前业务的Redis是否需要“分库分表”以满足可扩展需求。
Redis容量有哪些使用规划
2.容量及带宽规划
容量规划
MySQL:<硬盘大小 Memcached: Redis: 带宽规划 由于Redis比MySQL快10倍以上,因此带宽也是需要事先规划,避免带宽跑满而出现瓶颈。 3.性能规划(QPS) 当系统读写出现瓶颈,通常如何解决? MySQL 写:拆分到多服务器 读:(1)拆分(2)写少也可以通过增加Slave来解决 Memcached 读写:都通过hash拆分到更多节点。 Redis: 写:拆分 读:(1)拆分(2)写少也可以通过增加Slave来解决 4.可扩展性 MySQL:分库分表 Memcached:hash分布 Redis:也可以分库,也可以hash分布 小结 通过以上分析,Redis在很多方面同时具备MySQL及Memcached使用特征,在某些方面则更像MySQL。 由于Redis数据不能超过内存大小,一方面需要进行事先容量规划,保证容量足够;另外一方面设计上需要防止数据规模无限制增加,进而导致Redis不可扩展。 Redis需要象MySQL一样预先设计好拆分方案。 以上就是关于“Redis容量有哪些使用规划”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!