短链系统的实现

简单的代码在:https://github.com/jiajunhuang/links

其中主要的就是,通过 https://github.com/jiajunhuang/links/blob/master/codes.go#L9 EncodeMapDecodeMap 完成字母和数字之间的互相映射。

此外的关键点就是利用数据库的主键,或者redis的INCR得到一个全局唯一的,自增的id。然后 根据id,把10进制转换成62进制,然后表示成字母。


更多文章
  • OAuth 2 详解(四):Client Credentials Flow
  • OAuth 2 详解(二):Implict Grant Flow
  • OAuth 2 详解(一):简介及 Authorization Code 模式
  • ElasticSearch 学习笔记
  • 三种git流程以及发版模型
  • 错误处理实践
  • 权限模型(RBAC/ABAC)
  • OIDC(OpenID Connect) 简介
  • 任务队列简介
  • 使用Drone CI构建CI/CD系统
  • PostgreSQL 操作笔记
  • Golang migrate 做数据库变更管理
  • 使用PostgreSQL做搜索引擎
  • Nginx 源码阅读(三): 连接池、内存池
  • Nginx 源码阅读(二): 请求处理