C#生成唯一的ID保存到数据库

直接用.NET Framework 提供的 Guid() 函数:

Guid.NewGuid()是指生成唯一码的规则

System.Guid.NewGuid().ToString()全球唯一标识符 (GUID) 是一个字母数字标识符

System.Guid.NewGuid().ToString(format):生成的ID值的格式:

说明符       返回值的格式  
 
N                  32   位:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  
 
D                  由连字符分隔的   32   位数字:

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  
 
B                  括在大括号中、由连字符分隔的   32   位数字:

{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}  
 
P                  括在圆括号中、由连字符分隔的   32   位数字:

(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)  

Guid guid = Guid.NewGuid();
string id = guid.ToString("N");

保存到数据库中后,就是一串32位的字符串

时间: 2024-07-29 16:42:52

C#生成唯一的ID保存到数据库的相关文章

js生成唯一的id

1.生成[0,1)的随机数的Math.random Math.random().toString().replace(".", "");// 生成唯一的id 原文地址:https://www.cnblogs.com/ilimengyang/p/8986615.html

【高性能】生成唯一时间戳ID,如果性能不高可以不用来看

凡事涉及到高性能貌似都是高大上的东西,所以嘛我也试试:其实这个时间戳ID的生成主要为了解决我们公司内部的券号生成,估计有小伙伴认为券号生成有这么麻烦嘛,搞个自增ID完全可以用起来,或者时间取毫微米时间戳等. 如果以上真是这样简单的话,那我要说道说道:首先自增ID资源耗尽的时候,特别礼券号生成的越频繁,毕竟bigInt也有耗尽那天(当然如果有更长数字字段就是慢慢耗呗),而且依靠数据库进行被动生成,在有些业务上比较软肋:我还有一个同事说搞一张表定时去自增生成ID,这样就能随时取已经存在的ID资源数据

利用python的标准库hashlib 的md5()生成唯一的id

1 import hashlib 2 import time 3 4 def generate_md5(): 5 m = hashlib.md5() 6 m.update(bytes(str(time.perf_counter()),encoding='utf8')) #perf_counter() 可以精确到纳秒级别(保证不会重名) 7 return m.hexdigest() 8 9 class School(): 10 def __init__(self,s_id,name,addr):

Java生成唯一的ID

public class UIDGenerator { private static Date date = new Date(); private static StringBuilder buf = new StringBuilder(); private static int seq = 0; private static final int ROTATION = 99999; public static synchronized long next(){ if (seq > ROTATI

生成唯一的ID

public class UniqueId { public static String getUUId(){ int machineld = 1; int hashCodeV = UUID.randomUUID().toString().hashCode(); if(hashCodeV<0){ hashCodeV = - hashCodeV; } return machineld+String.format("%015d",hashCodeV); } } 原文地址:https:

如何生成唯一且不可预测的 ID

通常数据库可以生成唯一的 ID,最多的就是数字序列,也有像 MongoDB 这样产生组合序列的,不过这种形式的 ID 由于是序列,是可以预测的.如果想得到不可预测且唯一的 ID,方法还是有的. 下面主要以 Node.js 的环境为例. Node-uuid Github 上有个 node-uuid 项目,它可以快速地生成符合 RFC4122 规范 version 1 或者 version 4 的 UUID. 安装,既可以通过 npm install node-uuid ,也可以在 package.

C#生成唯一值的方法汇总

生成唯一值的方法很多,下面就不同环境下生成的唯一标识方法一一介绍,作为工作中的一次总结,有兴趣的可以自行测试: 一.在 .NET 中生成 1.直接用.NET Framework 提供的 Guid() 函数,此种方法使用非常广泛.GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的任何两台计算机都不会生成重复的 GUID 值(即保证所有机器都是唯一的).关于GUID的介绍在此不作具体熬述,想深入了解可以自行查阅MSDN.代码如下: 1 using System; 2 usi

生成唯一id

有时候在某些业务中需要先生成一个唯一id,然后再进行存储.可以使用一下的方法: 1.借助mysql或者redis这类能够自增的数据库 这种方式可以满足需求但是需要跟数据库有一次额外的操作.对性能有一定的影响 2.毫秒级的时间加上一个随机数. 这种方式不需要借助数据,性能高些,但是随机数可能会重复,所以结果可能不是全局唯一的 3.毫秒级的时间加上进程id 这种方式可以既满足性能,又是唯一的 对于多核的cpu,每个cpu可以同时执行不同的进程,而每个进程有唯一的id,所以时间可能相同,但是进程的id

如何生成唯一的server Id,server_id为何不能重复?

我们都知道MySQL用server-id来唯一的标识某个数据库实例,并在链式或双主复制结构中用它来避免sql语句的无限循环.这篇文章分享下我对server-id的理解,然后比较和权衡生成唯一server-id的几种方式. server_id的用途 简单说来,server_id有两个用途: 1. 用来标记binlog event的源产地,就是SQL语句最开始源自于哪里. 2. 用于IO_thread对主库binlog的过滤.如果没有设置 replicate-same-server-id=1 ,那么