一、介绍
全局ID生成器,是一种在分布式系统下用来生成全局唯一ID的工具,一般要满足以下特性:
为了增加ID的安全性,我们可以在基于Redis自增策略生成的数值上,拼接一些其他信息:
二、实现逻辑
1、基于Redis自增策略生成全局唯一ID
/**
* 基于Redis自增策略,生成全局唯一ID
*/
@Component
public class RedisIDWorker {
/**
* 定义开始时间戳:2022-01-01 00:00:00
*/
private static final long BEGIN_TIMESTAMP = 1640995200L;
/**
* 序列号的位数
*/
private static final int COUNT_BITS = 32;
@Autowired
private StringRedisTemplate stringRedisTemplate;
//生成全局唯一ID