短域名设计思路
1. 使用自增id(数值)->url这种映射关系
2. id使用base62编码 浏览器中可以直接使用不用处理,并且1亿的值只用生成5个字符
3. 为了避免用户使用无效的短码请求给数据库造成压力,url最后一位可以设置为校验和
|--------id base62编码--------|---校验和---|
a s d x K 9 1 M
考虑到后期可能对url长度进行加长升级,加一个版本号区分
|--------id base62编码--------|---版本---|---校验和---|
a s d x K 9 1 M
4. 生成id
基于数据库自增的方式,瓶颈在数据库的tps
可以维护一个base值 每次更新一个count 在内存中自增生成
使用longadder的思想 获取几批数据,然后使用分段锁 提高并发数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)