`
kevin_gzhz
  • 浏览: 60380 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Redis拆分方案一

阅读更多

      近2年多一直在移动互联网领域打拼,所做的移动交友类产品的用户数快速增长使得我们需要对系统架构不断的优化改变来适应。在优化存储的选择上从经历了MySQL+MC->MySQL+MC+Redis+Mongodb->MySQL+Redis+PostgreSQL的过渡。Redis作为一个优秀的NoSQL存储方案,在系统中得到很广泛的应用。

 

      本文记录一下在Redis扩容拆分是的一个思路:以粉丝关系的Redis为例,采用Master-Slave(主从复制,读写分离),在用户数达到一定规模后,增加一个Redis做扩容。

     具体做法:

          1、准备一个新的Redis作为Slave-A,配置后达到一主两从;

          2、在Master将数据全部复制到新的Slave-A后,按照特定规则将新的数据写到新的Slave-A;

          3、断开Master与新Slave-A的联系;

          4、再新增一个Redis作为Slave-B,关联到Slave-A上,提升Slave-A为Master-A;

          5、删除原有Master和Master-A的无效数据。

分享到:
评论

相关推荐

    Redis热点key及大key解决方案.docx

    ### Redis热点Key与大Key解决方案 #### 一、热点Key问题及解决方案 **问题描述**: 在使用Redis作为缓存时,热点Key是指那些访问频率非常高但更新频率相对较低的键值对。这类键的存在可能导致所有请求集中在少数几...

    redis面试题及其答案.pdf

    Codis是Redis的水平拆分解决方案,通过增加更多的Redis实例来扩展读写能力。除此以外,Redis官方提供的分布式方案、twemproxy等也是实现Redis集群的常见方式。 综上所述,Redis是一个功能强大且广泛应用的内存...

    RedisSyncer是一个多任务的redis数据同步工具,可灵活的满足Redis间的数据同步、迁移需求

    RedisSyncer是一个redis多任务同步工具集,应用于redis单实例及集群同步。 该工具集包括: redis 同步服务引擎 redissyncer-server redissycner 客户端 redissyncer-cli dashboard web控制面板 redissycner-...

    Redis集群测试

    Redis集群是一种分布式数据库解决方案,它允许用户将数据分散存储在多台服务器上,以提高系统的可扩展性和可用性。在“Redis集群测试”中,我们通常会关注以下几个关键知识点: 1. **集群架构**:Redis集群采用无...

    Redis大Key解决方案.docx

    本文将详细介绍如何识别、查询Redis中的大Key,并提供一系列解决方案来避免大Key带来的负面影响。 #### 二、Redis大Key的影响分析 1. **性能影响**:大Key的存在会增加Redis的内存消耗,导致更多的磁盘I/O操作,...

    新浪微博redis优化历程

    新浪微博在Redis优化过程中,从最初的尝试到最终的成熟方案,经历了一系列的探索和实践。通过对业务场景的深入理解以及不断的技术迭代,成功地解决了高性能、高可用性等关键问题。这一历程不仅为新浪微博带来了巨大...

    从服务化es到kafka和redis技术架构实践.pdf

    从服务化ES到Kafka和Redis技术架构实践是一个关于解决方案的技术架构实践报告,本报告主要介绍了服务化ES到Kafka和Redis技术架构的实践经验,涵盖了服务化、容器化、自动化等技术领域。 服务化 服务化是指将传统的...

    Redis大key多key拆分实现方法解析

    由于redis是单线程运行的,如果一次操作的value很大会对整个redis的响应时间造成负面影响,所以,业务上能拆则拆,下面举几个典型的分拆方案。 一、单个简单的key存储的value很大 i:该对象需要每次都整存整取 可以...

    Redis集群资料包,Redis3.2和Rubby

    1. **槽(Slots)**:Redis集群将数据空间划分为16384个槽,每个键属于且仅属于一个槽。槽是数据分布的基本单位,当创建集群时,需要将槽均匀分配到各个节点。 2. **节点(Nodes)**:每个运行Redis实例的服务器都是...

    MySql Oracle Redis Mycat MongoDB Memcached数据库教程

    Mycat是一款开源的分布式数据库中间件,它将大型数据库拆分为多个小数据库,实现数据的分布式存储。Mycat通过分库分表、读写分离、自动路由等功能,解决了单机数据库容量和性能的瓶颈问题,适用于高并发、大数据量的...

    基于Redis的共享缓存分析-收藏学习.pdf

    为了应对这些挑战,应用层缓存技术应运而生,特别是Redis作为一款高性能的键值存储系统,成为了实现服务间数据共享的理想选择。本文旨在探讨如何利用Redis构建有效的共享缓存解决方案,以解决微服务架构下的数据冗余...

    惠农电子超市(SpringCloud+Redis+Nginx+MySQL+Elasticsearch+RabbitMQ)

    接着,Redis作为一个高性能的键值数据库,被用作缓存服务。在高并发场景下,Redis能够快速存储和检索数据,减少对数据库的直接访问,提高系统响应速度。例如,用户的登录信息、购物车状态等频繁读取的数据都可以缓...

    R2M缓存介绍-业务使用方面.pptx

    R2M缓存系统是一款以Redis为核心构建的分布式缓存管理系统。该系统旨在为大规模在线服务提供高性能、高可用性的缓存解决方案。R2M不仅利用了Redis作为内存中的键值数据库的优势,还通过其独特的设计解决了大规模部署...

    Redis容量及使用规划.docx

    这对于需要存储大量数据但又希望保留Redis高性能特性的应用来说是一个很好的解决方案。 #### 九、分库分表的设计模式 在Redis中实现分库分表的一种常见方式是使用哈希环(hash ring)或一致性哈希算法。这种方式可以...

    redis基础部分

    1. **数据量过大**:当数据总量超出一台服务器的存储能力时。 2. **索引内存限制**:当数据的索引占用过多内存,使得单机内存不足以支持。 3. **访问压力增加**:当单个数据库实例无法承受高并发的读写请求。 #### ...

    redis应用场景,如何应用

    首先,Memcached作为早期的缓存解决方案,面临的问题包括频繁的数据库拆分、数据不一致以及在高负载下可能导致数据库压力过大的问题。Redis则通过提供更全面的数据结构和持久化机制,有效地解决了这些问题。Redis...

    MySql Oracle Redis Mycat MongoDB Memcached等数据库教程.zip

    1. MySQL:MySQL是一款开源、免费的关系型数据库管理系统,广泛应用于Web应用。它支持SQL标准,具有高效率和易用性,适合处理大量数据。MySQL的ACID特性(原子性、一致性、隔离性和持久性)确保了数据的可靠性,而其...

    简单的RedisGo推荐引擎.zip

    RedisGo推荐引擎可能将其中一部分或全部流程集成在Go程序中,也可能采用微服务架构,将不同模块拆分为独立的服务。 9. **测试与优化**: 实现推荐引擎后,需要进行性能测试和效果评估。可以通过模拟用户行为、生成...

    系统性能优化解决方案.docx

    部分项目拆分不彻底是该解决方案需要解决的一个问题。在实际生产环境中,一个Tomcat中可能会布署多个应用War包,彼此之间互相牵制,导致性能降低。该解决方案的解决方法是将每一个应用War包布署到一个独立的Tomcat中...

Global site tag (gtag.js) - Google Analytics