为什么要用雪花算法?
2023-12-18 10:55:51
目录
一、能解决什么问题?
其实就是用来解决分布式ID,随着业务的增长,你的某张表可能要占用很大的物理存储空间,为了解决该问题,后期使用数据库分片技术。将一个数据库进行拆分,通过数据库中间件连接。如果数据库中该表选用ID自增策略,则可能产生重复的ID,此时应该使用分布式ID生成策略来生成ID。
这么一对比,还是雪花算法比较占优势。
二、详解雪花算法
snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生4096个ID),最后还有一个符号位,永远是0。
三、如何实现雪花算法?
使用MybatisPlus生成雪花算法,代码很简单:
@Data
@TableName(value = "t_user")
public class User {
// IdType.ASSIGN_ID代表生成雪花算法
@TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id;
文章来源:https://blog.csdn.net/qq_38196449/article/details/135054888
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!