短链系统的实现

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

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

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


微信公众号
关注公众号,获得及时更新

更多文章
  • Haskell简明教程(四):Monoid, Applicative, Monad
  • HTTPS 的详细流程
  • OAuth2 为什么需要 Authorization Code?
  • 任务队列怎么写?python rq源码阅读与分析
  • XMonad 配置教程
  • Haskell简明教程(三):Haskell语法
  • Haskell简明教程(二):从命令式语言进行抽象
  • Haskell简明教程(一):从递归说起
  • 2017年必装的VIM插件推荐
  • TCP/IP简明教程 - 从零构建TCP/IP协议(二)连接,断开与拥塞控制
  • TCP/IP简明教程 - 从零构建TCP/IP协议(这次叫PCT协议)
  • Lua Manual 阅读笔记
  • Golang Map 源码阅读与分析
  • MySQL 零碎知识 - MySQL必知必会
  • Golang slice 源码阅读与分析