短对长映射
原理:发号器
跳转选择:301或302,前者永久跳转,后者临时跳转。前者对服务器压力小,后者可计算点击次数
发号器算法:
使用 0-9a-zA-Z!?
共64位字符,形成64位进制算法,每一位可表示2^8
,则8位构成64位映射。我们对这64位数字做安排如下
10-42-12
其中前10位为分布式计算机的唯一标识,中42位为时间戳(目前的时间戳共41位有效位),后12位为自增号。
按此发号算法,每一台计算机在1ms内最多可生成4096条映射,基本满足需求。
长对短映射
- LRU哈希表,每个映射产生后持续一个周期时间,在这个周期内维护该哈希表的LRU性质,当短链寻找不到对应的长链时,发生新的发号
- 查表