uuid相关知识
-
java生成UUIDUUID介绍:UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。UUID作用:我们通常使用int来做数据库的主键,可以很方便的使用自增长,但是使用int数据范围有限制。如果存在大量的数据,可能会超出int的取值范围。所以我们可以使用uuid来做主键。它们两的优缺点详细可网上进行查阅java中的类java.Util.UUID(最好就是在java程序中生成UUID然后把数据插入到数据库,为了换数据库的话不用修改生成UUID
-
用UUID自动生成ID一、JAVA使用UUID自动生成ID public static String getUUID(){ UUID uuid=UUID.randomUUID(); String str = uuid.toString(); String uuidStr=str.replace("-", ""); return uuidStr; }二、js使用UUID自动生成IDfunction guid() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); });}
-
在 PostgreSQL中使用UUID作为主键安装依赖包 sudo apt install postgresql-contrib 为表添加扩展 create extension "uuid-ossp"; 验证 testdb=> select uuid_generate_v4(); uuid_generate_v4 -------------------------------------- 832191a7-414c-4b30-9c96-bc1b0782c784 (1 row) 创建一个使用uuid作为主键的表: create table table_name ( id UUID PRIMARY KEY DEFAULT uuid_generate_v4() );
-
通用唯一标识码UUID的介绍及使用什么是UUID UUID全称:Universally Unique Identifier,即通用唯一识别码。 UUID是由一组32位数的16进制数字所构成,是故UUID理论上的总数为16^32 = 2^128,约等于3.4 x 10^38。也就是说若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完。 UUID的标准型式包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12的32个字符,如:550e8400-e29b-41d4-a716-446655440000。 UUID的作用 UUID的是让分布式系统中的所有元素都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信
uuid相关课程
uuid相关教程
- 2.2 安装配置 1. 安装插件:--安装mgr插件INSTALL PLUGIN group_replication SONAME 'group_replication.so';--检查show plugins2. 配置 hosts:vi /etc/hosts192.168.0.1 mysql-1192.168.0.2 mysql-2192.168.0.3 mysql-33. 修改 auto.cnf:如果三台 MySQL 目录的 server-uuid 一致,需进行修改vi /mysql/data/auto.cnf--主库的server-uuid的末尾建议设置成0001,依次类推,这样方便识别[auto]server-uuid=c734397b-3b0a-11e8-add1-fa163e8e00014. 配置 my.cnf:#Group Replicationbinlog_checksum = NONEtransaction_write_set_extraction = XXHASH64slave_preserve_commit_order = trueloose-group_replication_group_name = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'loose-group_replication_start_on_boot = offloose-group_replication_local_address = '192.168.0.1:33061'loose-group_replication_group_seeds ='192.168.0.2:33061, 192.168.0.3:33061, 192.168.0.1:33061'loose-group_replication_bootstrap_group = off# single primaryloose-group_replication_single_primary_mode = on# multi primary#loose-group_replication_single_primary_mode = off#loose-group_replication_enforce_update_everywhere_checks=true5. 启动MGR-主库--配置复制用户set sql_log_bin=off;GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' IDENTIFIED BY '123456';set sql_log_bin=on; --建立channelCHANGE MASTER TO MASTER_USER='repl_user', MASTER_PASSWORD='123456' FOR CHANNEL 'group_replication_recovery';--第一个节点启动时,需要设置bootstrap_groupSET GLOBAL group_replication_bootstrap_group = ON;--启动MGRSTART GROUP_REPLICATION;--取消bootstrap_groupSET GLOBAL group_replication_bootstrap_group = OFF;--查看当前MGR成员信息SELECT * FROM performance_schema.replication_group_members;6. 启动MGR-从库--配置复制用户set sql_log_bin=off;GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' IDENTIFIED BY '123456';set sql_log_bin=on; --建立channelCHANGE MASTER TO MASTER_USER='repl_user', MASTER_PASSWORD='123456' FOR CHANNEL 'group_replication_recovery';--启动MGRSTART GROUP_REPLICATION;7. 查看MGR--查看当前MGR成员信息SELECT * FROM performance_schema.replication_group_members;--查看只读参数show variables like '%read_only%';
- 2.mount 命令参数介绍 mount 命令参数名称功能与作用描述-a挂载 /etc/fstab 中的所有文件系统。-f使 mount 命令模拟挂载设备,但不真正的挂载。-F和 -a 参数一起使用时,会同时挂载所有文件系统。-v详细模式,将会说明挂载设备的每一步。-I不启用任何 /sbin/mount.filesystem 下的文件系统帮助文件。-l给 ext2、ext3 或 XFS 文件系统自动添加文件系统标签。-n挂载设备,但不注册到 /etc/mtab 已挂载设备文件中。-p num进行加密挂载时,从文件描述符 num 中获得密码短语。-s忽略该文件系统不支持的挂载选项。-r将设备挂载为只读。-w将设备挂载为可读可写(默认参数)。-L label将设备按指定的 label 挂载。-U uuid将设备按指定的 uuid 挂载。-O和 -a 参数一起使用,限制命令只作用到特定的一组文件系统上。-o给文件系统添加特定的选项。
- 5. 小结 PostgreSQL 的整型字段不支持 unsigned 无符号,且无自增约束,但有自增数据类型 serial。大部分场景中,主键一般都为自增字段,当然也有选择uuid作为主键的,但自增主键性能更加优异。外键是体现数据表关系的核心功能点,但主流的外键方式却都是弱外键。
- 2.5 概要设计 设计部分以图表形式的内容最多。实例 5:# 第三章 概要设计## 3.1 数据表设计**管理员表**管理员表的描述文字。*表1:管理员表结构*| 列名 | 数据类型 | 长度 | 非空 | 主键 || -------- | ----------- | ---- | ---- | ---- || id | UUID | 64 | √ | √ || account | VARCHAR(32) | 32 | √ | || password | VARCHAR(32) | 32 | | |**学生信息表**学生信息表的描述文字。*表2:管理员表结构*| 列名 | 数据类型 | 长度 | 非空 | 主键 || -------- | ----------- | ---- | ---- | ---- || id | UUID | 64 | √ | √ || name | VARCHAR(32) | 32 | √ | || age | Integer | 8 | | |## 3.2 数据表关系图```mermaidclassDiagram 学员表 --> 部门表 : 关联 职工表 --> 部门表 : 关联 class 学员表 { id 部门 ID <fk> } class 职工表 { id 部门 ID <fk> } class 部门表 { id }```<center>图3-1:数据关系表</center>## 3.3 功能结构图```mermaidgraph LR XX管理系统 --> 管理员登录 管理员登录 --> 系统设置 管理员登录 --> 学员管理 管理员登录 --> 教师管理 管理员登录 --> 部门管理 部门管理 --> 增加 部门管理 --> 修改 部门管理 --> 删除 部门管理 --> 批量导入```<center>图3-2:功能结构图</center>其渲染效果如下:
- 2.1 分布式 ID 的实现方式 本小节我们来简单介绍一下常用的分布式 ID 的实现方式,例如:UUID,Redis,雪花算法等。UUIDUniversally Unique Identifier 通用唯一标识符,由 32 个字符组成,采用 16 进制进行编码,定义了在时间和空间都完全唯一的系统信息。在 Java 中可以使用 java.util.UUID 的 randomUUID() 方法来获得:java.util.UUID.randomUUID().toString();UUID 可以在本地生成,生成速度快,不依赖网络和其它服务,但是 UUID 没有可以识别的特点,也没有顺序性。Redis 实现分布式 ID我们都知道 Redis 的性能非常高,而且还可以搭建集群。我们可以使用 Redis 的 Incr 命令来把 <key,value> 中 key 的数值加 1 并返回,如果这个 key 不存在,则 key 值会被初始化为 0,再执行 Incr 命令来进行加 1 操作。// 使用 incr(key) 来让 key 加 1long id = jedis.incr("id");使用 Redis 的方式生成分布式 ID 需要依赖 Redis 服务,还要保证 Redis 的高可用,否则 Redis 服务宕机会影响整个应用。雪花算法SnowFlake 雪花算法是 Twitter 公司推出的⼀个⽤于⽣成分布式 ID 的策略,基于这个算法可以生成 64 位 Long 型的 ID,它是由 1 位符号位,41 位的时间戳毫秒数,10 位的机器 ID,12 位的序列号这 4 种元素来组成的。理论上,雪花算法每秒可以生成 400 多万个 ID,完全可以支撑住分布式环境下高并发的场景。一些公司在雪花算法的基础上实现了自己的分布式 ID 的算法,比如:滴滴的 Tinyid,百度的 UidGenerator,美团的 Leaf 等。简单介绍了一些分布式 ID 的实现方式,接下来我们就使用 Zookeeper 来实现分布式 ID 。
- 2.1 主库 log-binbinlog文件名前缀,可以是全路径,不可以动态修改log-bin = /mysql/3306/logserver-id唯一区别 ID,同一个集群内不可重复,从 5.6 开始可以动态修改推荐使用ip+端口号,1013306server-uuid唯一区别 ID,同一个集群内不可重复,从 5.6 开始可以动态修改:32位的GUID,文件路径/mysql/3306/auto.cnlog-bin-indexbinlog索引文件前缀,也可以是全路径,不可以动态修改binlog_formatbinlog日志格式:statement、row、mixed三种,可以动态修改binlog_cache_sizebinlog写入的buffer,推荐1M-4M就足够,可以动态修改max_binlog_size限制每个binlog的大小,默认是1G,推荐128M或256M,可以动态修改expire_logs_days表示多少天后自动删除binlog,可以动态修改
uuid相关搜索
-
ubuntu安装
ubuntu安装教程
ubuntu官网
ucenter
udp通信
ui层
uml
uml类图
uml建模
uml教程
uml图
underscore
uni app
unicode
uniform
union
union用法
uniq
uniqueconstraint
uniqueid