Skip to content

chuxin0816/shorturl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

shortURL 短链接服务

由go-zero和GORM框架开发,基于MySQL自增主键实现发号器,通过62进制编码生成短链接

  1. 通过REPLACE命令更新发号器表,只需存储一条记录即可获取自增主键
REPLACE INTO sequence (stub) VALUES ('a');
SELECT LAST_INSERT_ID();
  1. 通过62进制编码生成短链接,打乱字符顺序提高随机性和安全性
  2. 使用redis缓存短链接,提高访问速度
  3. 转链前会对链接探活,避免生成无效短链接
  4. 转链前会查询长链接是否已经生成过短链接,避免重复生成
  5. 转链前会查询是否为短链接,避免重复转链
  6. 转链时会对链接进行黑名单过滤,避免生成非法短链接
  7. ⻓链接数据量⼤不适合建索引,所以这⾥使⽤其md5值来做索引,并通过软删除来标记删除数据。

启动项目:

go build && ./shorturl

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages