- MySQL Replace into
replace into Tickets64(stub) values('a');
select LAST_INSERT_ID();
保证这俩语句在一个事务内即可,优点是足够简单,replace into和unique id 保证了ID生成表永远只有一行数据。缺点是限制了只能是MySQL,而且发号器的并发量受限于MySQL。 - Redis incr
利用Redis的原子性来生成递增的ID,这样发号器的可靠性等同Redis的可靠性。性能当然很高。 - mongodb
id 非整数 - snowflake算法
时间戳 + 机器号 + 序列 + 随机值
这里要求序列生成函数必须是线程安全的(得加锁),由于序列生成函数一般就是将整数 + 1,并发量可以保证
网友评论