Jiajun的技术笔记
  • EN
  • 归档
  • 分享
  • 随想
  • 友链
  • 工具
    面试题库 幻灯片
  • 关于

短链系统的实现

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

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

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


相关文章
  • Web开发系列(七):缓存,CDN
  • Web开发系列(八):单点故障,负载均衡
  • Web开发系列(五):form, json, xml
  • Web开发系列(四):Flask, Tornado和WSGI
  • Web开发系列(三):什么是HTML,CSS,JS?
  • Web开发系列(二):HTTP协议
  • Web开发系列(一):从输入网址到最后,这个过程经历了什么?
  • SNI: 让Nginx在一个IP上使用多个证书
  • Haskell: infixl, infixr, infix
  • Haskell简明教程(五):处理JSON
  • Haskell简明教程(四):Monoid, Applicative, Monad
  • HTTPS 的详细流程
  • OAuth2 为什么需要 Authorization Code?
  • 任务队列怎么写?python rq源码阅读与分析
  • XMonad 配置教程


  • DigitalOcean Referral Badge
  • 邮件 订阅
  • RSS 订阅
  • Web开发简介系列
  • 数据结构的实际使用
  • Golang 简明教程
  • Python 教程
本站热门
  • socks5 协议详解
  • zerotier简明教程
  • 搞定面试中的系统设计题
  • frp 源码阅读与分析(一):流程和概念
  • 用peewee代替SQLAlchemy
  • Golang(Go语言)中实现典型的fork调用
  • DNSCrypt简明教程
  • 一个Gunicorn worker数量引发的血案
  • Golang validator使用教程
  • Docker组件介绍(二):shim, docker-init和docker-proxy
  • Docker组件介绍(一):runc和containerd
  • 使用Go语言实现一个异步任务框架
  • 协程(coroutine)简介 - 什么是协程?
  • SQLAlchemy简明教程
  • Golang的template(模板引擎)简明教程

@jiajunhuang 2015-2024, All Rights Reserved。本站禁止转载,引用请注明作者与原链。