1,为什么需要分布式id?
分表后要保证分布式集群环境下id的全局唯一性。所以分表之后,不能使用主键自增。
2.解决方案
(1)雪花算法
雪花算法是Twitter推出的?个?于?成分布式ID的策略。
雪花算法是?个算法,基于这个算法可以?成ID,?成的ID是?个long型,那么在Java中一个long型是8个字节,算下来是64bit,如下是使?雪花算法?成的?个ID的?进制形式示意:
(2)借助Redis的Incr命令获取全局唯?ID
Redis Incr命令将 key 中储存的数字值增?。如果 key 不存在,那么 key 的值会先被初始化为0,然后再执? Incr 操作。
代码示例:
Java代码中使?Jedis客户端调?Reids的incr命令获得?个全局的id(此处我们就是连接单节点,也不使?连接池)
原文:https://www.cnblogs.com/jingpeng77/p/14750167.html