社区
Web 开发
帖子详情
如何保证ID全局唯一性
icelover
2005-09-22 10:59:35
我现在使用JSP+MySQL做一个东西,系统中各个对象都有一个自身的ID,该ID需要保证全局唯一,我刚开始准备使用int型的,但是因为有多张表,在生成一个对象的时候,好像很难保证这个对象的ID是全局唯一的,如果我用单独一张表来保存ID的话,那每次增添一个记录都要去查询这张表,会非常慢,如果我采用128位GUID,感觉对数据库的容量和在编程时不方便
请问各位大侠是如何处理的?
...全文
267
4
打赏
收藏
如何保证ID全局唯一性
我现在使用JSP+MySQL做一个东西,系统中各个对象都有一个自身的ID,该ID需要保证全局唯一,我刚开始准备使用int型的,但是因为有多张表,在生成一个对象的时候,好像很难保证这个对象的ID是全局唯一的,如果我用单独一张表来保存ID的话,那每次增添一个记录都要去查询这张表,会非常慢,如果我采用128位GUID,感觉对数据库的容量和在编程时不方便 请问各位大侠是如何处理的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
medusagjf
2005-09-23
打赏
举报
回复
须导入:
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
medusagjf
2005-09-23
打赏
举报
回复
加密方法如下,先将Date类型toString后使用:
public static String createEncryptionCode(String orginalValue){
MessageDigest alga=null;
try{alga = MessageDigest.getInstance(getEncryptionType());
}catch(NoSuchAlgorithmException e){e.printStackTrace();}
alga.update(orginalValue.getBytes());
byte[] digest=alga.digest();
String hs="";
String stmp="";
for (int i=0;i<digest.length;i++){
stmp=(java.lang.Integer.toHexString(digest[i] & 0XFF));
if(stmp.length()==1) hs=hs+"0"+stmp;
else hs=hs+stmp;
}
return hs.toUpperCase();
}
medusagjf
2005-09-23
打赏
举报
回复
IBM是使用new Date().getTime作为原ID,然后用sha1或md5加密后作为id,保证不会重复
navyu
2005-09-22
打赏
举报
回复
用单例类 可以做
主键 从单例类中取得。
在 单例类中要维护一个主键表,如下
CODENAME , NUM
ID1 100
ID2 200
对主键ID1 生成20 个 将NUM更新成 120
这样在单例类 中就有了 101 - 120 20个不同的主键。
用到时就从 单例类池中取,没有在从DB中生成就可。
6.分库分表之后分布式下如何
保证
ID
全局
唯一性
.mp4
6.分库分表之后分布式下如何
保证
ID
全局
唯一性
.mp4
分库分表之后分布式如何
保证
ID
全局
唯一性
分库分表之后分布式如何
保证
ID
全局
唯一性
分库分表: 跨库的问题 分布式事务问题 查询数据结果集合并
全局
性
唯一性
ID
保证
要求: 1.
全局
唯一性
:不能出现重复的
Id
号(基本的要求) 2.信息安全:防止恶意用户规矩
id
的...
10 | 发号器:如何
保证
分库分表后
ID
的
全局
唯一性
?
当存储的数据量达到瓶颈时,我们可以将数据分片存储在多个节点上,降低单个存储节点的存储压力,此时我们的架构变成了下面这个样子:你可以看到,我们通过分库分表和主从读写分离的方式解决了数据库的扩展性问题,...
发号器:如何
保证
分库分表后
ID
的
全局
唯一性
?
发号器:如何
保证
分库分表后
ID
的
全局
唯一性
?数据库的主键要如何选择?基于 Snowflake 算法搭建发号器总结 我们通过分库分表和主从读写分离的方式解决了数据库的扩展性问题,但是在,数据库在分库分表之后,我们在...
分布式中如何
保证
ID
的
全局
唯一性
之前经常听到、看到关于分布式系统中,唯一
ID
如何选择的讨论,应用系统中常见的
全局
唯一的序列号有数据库表的主键、request
ID
、有业务含义的交易号。不论支持哪种论点,大多数论据都是业务层面的,这篇文章从理论...
Web 开发
81,091
社区成员
341,719
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章