继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【金秋打卡】第12天 单表管理功能前后端开发

锦书难书Q
关注TA
已关注
手记 63
粉丝 0
获赞 8

课程名称:Spring Cloud+ Vue前后端分离开发企业级在线视频系统

课程章节:第5章 单表管理功能前后端开发

讲师姓名:甲蛙老师

课程内容

新增大章功能的开发:增加新增大章功能,后端代码开发,完成前后端联调,保存成功

课程收获

新增大章功能并不是简单的增删改查,其中有很多开发的细节需要注意

①为什么在新增操作中不使用自增id

自增ID至少存在三个问题:

1. id是连续的,容易被探测

2. 需要增加1次查询才能得到id的值

3. 在分布式存储中,id会出现重复

②为替换自增ID要使用UUID

UUID是根据机器、时间等多个维度生成的32位16进制数,绝大多数情况下不会重复,在UUID的基础上封装了8位短UUID

短ID是根据将32位ID,转为62进制8位ID,减少存储空间。

原理是将uuid转为10进制,再对62取余。

虽然有重复的风险(将4位16进制数转为62位一位数)但是一般项目足够使用

http://img3.mukewang.com/63652371000166a619200916.jpg

http://img3.mukewang.com/6365237b0001152805460383.jpg

public static String getShortUuid() {
   
StringBuilder shortBuffer = new StringBuilder();
   
String uuid = UuidUtil.getUuid();
   
for (int i = 0; i < 8; i++) {
       
String str = uuid.substring(i * 4, i * 4 + 4);
       
int x = Integer.parseInt(str, 16);
       
shortBuffer.append(chars[x % 0x3E]); // 62取余
   
}
   
return shortBuffer.toString();
}

 


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP