• redis分片


    本文是在window环境下测试

    什么是分片

    当数据量大的时候,把数据分散存入多个数据库中,减少单节点的连接压力,实现海量数据存储

    那么当多个请求来取数据时,如何知道数据在哪个redis呢,redis有自己的算法,下图是负载均衡的理解

    步骤:

    第一步:分配端口号,启动redis服务

      master1: 6500     master: 6501

    第二步:测试

        jar:

     

         代码:

    /**
         * 测试,多个主节点,分片    
         */
        @Test
        public void test02(){    
            //GenericObjectPoolConfig对象代表池的配置
            GenericObjectPoolConfig config  = new JedisPoolConfig();
            
            //设置redis服务器群
            List<JedisShardInfo> list = new ArrayList<JedisShardInfo>();
            
            //第一个主机
            JedisShardInfo shard1 = new JedisShardInfo("localhost",6500);
            shard1.setPassword("1");
            list.add(shard1);
            
            //第二个主机
            JedisShardInfo shard2 = new JedisShardInfo("localhost",6501);
            shard2.setPassword("1");
            list.add(shard2);
            
            //把服务器群加入到连接池中
            ShardedJedisPool pool = new ShardedJedisPool(config,list);
             
            //ShardedJedis对象可以存取数据
            ShardedJedis jedis = pool.getResource();
                
            //看key在主机点的分布情况
            for(int i = 0 ; i < 100;i++){
                jedis.set("user"+i, "value"+i);
            }
            
            //JedisShardInfo对象代表redis服务器,获得key=user1所在的redis服务器
            JedisShardInfo info = jedis.getShardInfo("user1");
            
            //查看主机
            String host = info.getHost();
            
            //获取redis服务器的端口号
            int port = info.getPort();
            
            System.out.println(host + " : " + port );
            
            //归还资源
            pool.returnResource(jedis);
        }

      结果:

      master1:

         master2:

      

      更多的细节问题还需要私下多多研究

  • 相关阅读:
    VMware安装Centos7超详细过程
    Linux部署Web项目
    Entity Framework快速入门IQueryable与IEnumberable的区别
    ASP.NET MVC3中的路由系统(Routes)
    C# Lambda表达式概述
    WCF大数据量传输解决要点
    div滚动条样式设计
    ASP.NET MVC 自定义路由
    C# Lambda表达式学习笔记
    C# 操作excel
  • 原文地址:https://www.cnblogs.com/liuconglin/p/5914629.html
Copyright © 2020-2023  润新知