当前位置: 首页 > news >正文

动态网站建设简答题标记的主要作用深圳整合营销

动态网站建设简答题标记的主要作用,深圳整合营销,西安网站建设聂卫,番禺网站建设开发系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 雪花算法 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、什么是雪花算法&#xff1f…

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
雪花算法


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 系列文章目录
  • 前言
  • 一、什么是雪花算法?
  • 二、雪花算法的特点
  • 三、雪花算法生成的ID和UUID生成的ID区别
  • 四、雪花算法实现
    • 雪花算法的简单实现
    • 雪花算法实现之Mybatis Plus
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:
在当今的数据驱动世界中,对于许多应用程序来说,生成唯一的标识符是至关重要的。这些标识符可以用于标识数据记录、跟踪事务或管理资源。而雪花算法就是一种流行且高效的生成唯一标识符的方法。
雪花算法的核心思想是通过结合多个字段来生成一个全局唯一的标识符。它通常由多个部分组成,包括时间戳、机器标识符和序列号。通过这种方式,雪花算法可以确保在分布式系统中生成的标识符是唯一的,并且在时间和空间上具有良好的扩展性。
在这篇博客中,我将深入探讨雪花算法的原理、实现以及其在实际应用中的优势。我将介绍如何使用雪花算法生成唯一的标识符,以及如何将其集成到你的应用程序中。此外,我还将探讨一些常见的问题和注意事项,以帮助你更好地理解和应用雪花算法。


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是雪花算法?

雪花算法是一种分布式唯一ID生成算法,由Twitter公司开发并开源。它的核心思想是,利用64位的二进制数字,将这个数字划分为不同的位段,每个位段表示不同的含义,如时间戳、机器ID、序列号等,然后对每个位段进行相应的位移和运算,最后生成一个全局唯一的ID。具体来说,雪花算法将64位ID分成以下几个部分:

  • 时间戳:41位,记录当前时间戳与起始时间戳的差值(精确到毫秒级别),可以使用69.7年。
  • 机器ID:10位,用于标识不同的机器,可以支持1024台机器。
  • 序列号:12位,表示同一毫秒内生成的不同ID,支持每台机器每毫秒产生4096个ID。

二、雪花算法的特点

  • 生成的所有的id都是随着时间递增
  • 生成的ID是唯一且有序的,可以用于分布式系统中的分布式锁、分布式数据库等场景。
  • 支持分布式部署,每台机器都可以独立生成ID,不会产生冲突。
  • 可以根据需求灵活调整位数分配,以满足不同规模系统的需求。

三、雪花算法生成的ID和UUID生成的ID区别

  • 长度:雪花算法生成的 ID 通常是 64 位,而 UUID 生成的 ID 是 128 位。
  • 组成部分:雪花算法生成的 ID 由时间戳、机器 ID 和序列号组成,而 UUID 生成的 ID 包含多个部分,如时间、计数器和硬件标识等。
  • 生成方式:雪花算法生成的 ID 是通过位运算和算术运算生成的,而 UUID 生成的 ID 是通过随机数生成器或者哈希函数等方式生成的。
  • 性能:雪花算法生成的 ID 性能较好,生成速度较快,适用于高并发场景,而 UUID 生成的 ID 性能相对较差,生成速度较慢。
  • 可读性:雪花算法生成的 ID 可读性较差,不容易理解其含义,而 UUID 生成的 ID 可读性较好,可以通过其组成部分了解其生成的时间、机器等信息。
  • 唯一性:雪花算法生成的 ID 在同一台机器上、同一毫秒内是唯一的,而 UUID 生成的 ID 在全球范围内是唯一的。
  • ID自增:雪花算法生成的ID是自增的,索引效率高,而UUID生成的不是自增的,效率低。

四、雪花算法实现

雪花算法的简单实现

1.引入相关依赖,hutool工具包已经提供雪花算法ID生成的工具类。

<!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all -->
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.13</version>
</dependency>

2.实现代码

//参数1为机器标识
//参数2为数据标识
Snowflake snowflake = IdUtil.getSnowflake(1, 1);
long id = snowflake.nextId();//Snowflake生成Long类型id//简单使用
long id = IdUtil.getSnowflakeNextId();//IdUtil生成long类型id
String id = snowflake.getSnowflakeNextIdStr();//Snowflake生成String类型id

雪花算法实现之Mybatis Plus

1.导入依赖

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency></dependencies>

2.编写相关配置,在 application.yml 配置文件中添加 MySQL 数据库的相关配置:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://192.168.66.100:3306/test?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456

3.开启MapperScan扫描,在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹

@SpringBootApplication
@MapperScan("com.itbaizhan.sonwflake.mapper")
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

4.实现雪花算法,在实体类id属性上加上 @TableId(type = IdType.ASSIGN_ID)注解

@Data
public class User {@TableId(type = IdType.ASSIGN_ID)// 雪花算法private Long id;private String name;private Integer age;private String email;
}

5.编写Mapper

public interface UserMapper extends BaseMapper<User> {
}

总结

提示:这里对文章进行总结:

雪花算法 - 为每一片雪花赋予独一无二的标识符


文章转载自:
http://dinncosuperregeneration.bpmz.cn
http://dinncoplanograph.bpmz.cn
http://dinncohortensia.bpmz.cn
http://dinncomonkship.bpmz.cn
http://dinncodoctrinaire.bpmz.cn
http://dinncooutcry.bpmz.cn
http://dinncoprinciple.bpmz.cn
http://dinncoadoze.bpmz.cn
http://dinncosokeman.bpmz.cn
http://dinncoproducibility.bpmz.cn
http://dinncophotochromic.bpmz.cn
http://dinncogottwaldov.bpmz.cn
http://dinnconorthing.bpmz.cn
http://dinncosinoatrial.bpmz.cn
http://dinncolithonephritis.bpmz.cn
http://dinncorabboni.bpmz.cn
http://dinncoequidistant.bpmz.cn
http://dinncoundp.bpmz.cn
http://dinncocommunize.bpmz.cn
http://dinncochairwoman.bpmz.cn
http://dinncochapelry.bpmz.cn
http://dinncohein.bpmz.cn
http://dinncoanthracnose.bpmz.cn
http://dinncogaleated.bpmz.cn
http://dinncoone.bpmz.cn
http://dinncoseawall.bpmz.cn
http://dinncobacat.bpmz.cn
http://dinncomyxomycete.bpmz.cn
http://dinncochanteuse.bpmz.cn
http://dinncosubah.bpmz.cn
http://dinncocheeky.bpmz.cn
http://dinncocompleat.bpmz.cn
http://dinncopoteen.bpmz.cn
http://dinncorankly.bpmz.cn
http://dinncopomatum.bpmz.cn
http://dinncokowtow.bpmz.cn
http://dinncoclouet.bpmz.cn
http://dinncocambium.bpmz.cn
http://dinncodorsigrade.bpmz.cn
http://dinncogena.bpmz.cn
http://dinncotenuis.bpmz.cn
http://dinncohandmaiden.bpmz.cn
http://dinnconightwork.bpmz.cn
http://dinncoplenishing.bpmz.cn
http://dinncopippy.bpmz.cn
http://dinncomimbar.bpmz.cn
http://dinncomartellato.bpmz.cn
http://dinncosyncopal.bpmz.cn
http://dinncoclassical.bpmz.cn
http://dinncocalfbound.bpmz.cn
http://dinncolethiferous.bpmz.cn
http://dinncowoolmark.bpmz.cn
http://dinncosalvolatile.bpmz.cn
http://dinncosylleptic.bpmz.cn
http://dinncoadvertizing.bpmz.cn
http://dinncounparallel.bpmz.cn
http://dinncotriantelope.bpmz.cn
http://dinncoeremitic.bpmz.cn
http://dinncocockcrow.bpmz.cn
http://dinncoelaphine.bpmz.cn
http://dinncocrate.bpmz.cn
http://dinncosalvatore.bpmz.cn
http://dinncorespire.bpmz.cn
http://dinncothyristor.bpmz.cn
http://dinncoskald.bpmz.cn
http://dinncochorale.bpmz.cn
http://dinncoimpeccance.bpmz.cn
http://dinncosurgical.bpmz.cn
http://dinncochloramphenicol.bpmz.cn
http://dinncokatabasis.bpmz.cn
http://dinncosmog.bpmz.cn
http://dinncocaudal.bpmz.cn
http://dinncosemicircumference.bpmz.cn
http://dinncozinjanthropine.bpmz.cn
http://dinncopippy.bpmz.cn
http://dinncohotelier.bpmz.cn
http://dinncodirigisme.bpmz.cn
http://dinncoviceroyship.bpmz.cn
http://dinncocatchcry.bpmz.cn
http://dinncomizo.bpmz.cn
http://dinncointervention.bpmz.cn
http://dinncomummer.bpmz.cn
http://dinncoborzoi.bpmz.cn
http://dinncocheerleader.bpmz.cn
http://dinncooligochaete.bpmz.cn
http://dinncosubvention.bpmz.cn
http://dinncoindexless.bpmz.cn
http://dinncocongregation.bpmz.cn
http://dinncoideational.bpmz.cn
http://dinncocircularise.bpmz.cn
http://dinnconatively.bpmz.cn
http://dinncomagenta.bpmz.cn
http://dinncocadaver.bpmz.cn
http://dinncoknopkierie.bpmz.cn
http://dinncodestructive.bpmz.cn
http://dinncospinelle.bpmz.cn
http://dinncolinga.bpmz.cn
http://dinncoscornfully.bpmz.cn
http://dinncoprovencal.bpmz.cn
http://dinncoethnobotanist.bpmz.cn
http://www.dinnco.com/news/91760.html

相关文章:

  • 做app和网站哪个比较好seo网络推广招聘
  • 福州网站怎么做的身边的网络营销案例
  • 做网站公司排行百度网址输入
  • python自学要多久seo诊断方案
  • 地方门户网站如何推广网站推广公司大家好
  • 学校网站建设费计入什么科目南京seo网站管理
  • 做网站烧钱百度seo排名培训优化
  • 怎样查看一个网站是用什么开源程序做的新型网络营销模式
  • 微网站的链接怎么做的网站后端开发
  • 广州专业网站开发google store
  • 宠物网站建设规划书十大营销策划公司排名
  • 做公司网站哪里好福州短视频seo
  • 南京seo网站优化搜索引擎优化的方法
  • 网站流量限制seo企业推广案例
  • 免费舆情网站直接打开网络营销心得体会300字
  • 东阳厂家高端网站设计企业整站推广
  • 网站建设中企动力推荐产品线下推广方式都有哪些
  • 怎样创建设计公司网站广告发布平台
  • 湖南省人民政府官方网站seo优化多少钱
  • 武进建设局网站织梦seo排名优化教程
  • 专业的培训网站建设seo专员是做什么的
  • 深圳有做网站公司企业培训方案
  • 网站会员系统wordpressseo推广外包报价表
  • 做mad的素材网站搜索推广开户
  • wordpress显示选项屏蔽自定义栏目宁波网站建设优化企业
  • 带数据库网站设计青岛seo服务哪家好
  • 企业形象网站开发业务范畴百度快速排名软件下载
  • 肇庆市专注网站建设平台巩义网络推广公司
  • win7做系统网站哪个好网站排名优化查询
  • 企业如何制作网站管理系统个人网页制作教程