短域名设计思路

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的思想 获取几批数据,然后使用分段锁 提高并发数

posted @   rudynan  阅读(249)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示