8号码库
8号码库

暂无菜单项

首页/社区/广场/源码分享/
打开 MD 链接

手把手搭建一个短链接系统(Go+Redis+MySQL,附架构图)

搭建小能手
发布于 3周前更新于 3周前
240

经常要在社区/文章里塞长链接,又臭又长。今天教大家用 Go + Redis + MySQL 搭一个自带统计的短链系统,源码量不大,新手也能跟下来。

短链系统架构图

一、整体架构

如上图:用户访问短码 → Nginx 转发给短链服务 → 服务查 Redis 做计数/限流、查 MySQL 拿原始长链 → 命中则 302 跳转,未命中返回 404。

二、核心建表

CREATE TABLE short_url (
  code VARCHAR(8) PRIMARY KEY,
  url  TEXT NOT NULL,
  created_at BIGINT
);

三、短码生成(发号器思路)

func genCode(id int64) string { return base62Encode(id) }

四、Nginx 反代

location /s/ { proxy_pass http://127.0.0.1:8080/; }

搭完接个短域名就能用。想加「访问统计大盘」的,评论区扣 1,下期补图文。

0 / 600
细中粗
5 讨论
热门最新
总结
作者分享Go+Redis+MySQL搭建短链系统,评论感谢作者,强调代码质量,认为实用。
maoku
M

Redis 持久化那块能再展开讲讲吗?怕重启丢数据。

8/28
maoku
M

教程一步步跟着做下来很顺,架构图也清楚。

8/28
深夜产品汪

源码分享是学习的好途径,感谢作者!

8/28
佛系算法侠

代码质量很重要,大家要注意哦!

8/28
极客Momo

这篇文章的技术分享很实用,我学到了很多。

8/28
热门帖子
  • 8号码库社区版规与发帖指引(新人必读)

    8
    置顶
    8/27326 浏览
  • 半夜两点还在调源码,我劝你这几个瞬间别硬刚

    3
    9/13531 浏览
  • WordPress 源码手动安装与性能优化全流程

    6
    9/34.7K 浏览
  • 宝塔面板从零部署网站源码:LNMP 环境一键搭建全流程

    5
    9/3510 浏览
  • 前端项目源码构建与部署:Vue/React + Nginx 静态托管与 SSR

    3
    9/3375 浏览
  • Docker 容器化源码部署:Dockerfile 与 Compose 编排实战

    5
    9/3773 浏览
  • Node.js 项目源码部署实战:PM2 进程守护 + Nginx 反向代理

    3
    9/3597 浏览
  • 从源码部署 Java Spring Boot:打包 Jar 包 + systemd 守护

    3
    9/3638 浏览
  • 半小时上线个人博客/知识库:通用部署流程(附流程图)

    2
    8/252.4K 浏览
  • 自己搭轻量网盘:Cloudreve 开箱即用(附架构图)

    5
    8/28463 浏览
8号码库
8号码库
首页
源码下载
交流社区
网址导航
版权所有 8号码库
隐私政策常见问题联系我们
捐赠❤️