您当前的位置: 首页 > 

35MyCat - 分片规则(字符串hash解析)

杨林伟 发布时间:2019-07-25 17:48:14 ,浏览量:1

此规则是截取字符串中的int数值hash分片

 
	
		 user_id
		  sharding-by-stringhash 
	   
  
  
   
	   (0,2)
  • “1:2” -> (1,2)
  • “1:” -> (1,0)
  • “-1:” -> (-1,0)
  • “:-1” -> (0,-1)
  • “:” -> (0,0) */ 例子:
  • String idVal=null;
     rule.setPartitionLength("512");
     rule.setPartitionCount("2");
     rule.init();
     rule.setHashSlice("0:2");
    // idVal = "0";
    // Assert.assertEquals(true, 0 == rule.calculate(idVal));
    // idVal = "45a";
    // Assert.assertEquals(true, 1 == rule.calculate(idVal));
     //last 4
     rule = new PartitionByString();
     rule.setPartitionLength("512");
     rule.setPartitionCount("2");
     rule.init();
     //last 4 characters
     rule.setHashSlice("-4:0");
     idVal = "aaaabbb0000";
     Assert.assertEquals(true, 0 == rule.calculate(idVal));
     idVal = "aaaabbb2359";
     Assert.assertEquals(true, 0 == rule.calculate(idVal));
    
    关注
    打赏
    1688896170
    查看更多评论
    0.0498s