优点:
缺点:
import java.util.UUID;
public class UUIDUtils {
public static String getUUID() {
// 2c294ec8-9585-4b06-954e-7380979e7ff1
String uuid = UUID.randomUUID().toString();
return uuid;
}
}
当使⽤数据库来⽣成ID性能不够要求的时候,我们可以尝试使⽤Redis来⽣成ID。这主要依赖于Redis是单线程的,
所以也可以⽤⽣成全局唯⼀的ID。可以⽤Redis的原⼦操作 INCR和INCRBY来实现。
优点:
缺点:
pom.xml
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
Java代码:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
public class RedisIdUtils {
private static final String redisIdKey = "redisKey";
@Autowired
private StringRedisTemplate stringRedisTemplate;
public Long getRedisID() {
// 默认每次步进1,可配置
Long redisKey01 = stringRedisTemplate.opsForValue().increment(redisIdKey);
Long redisKey = stringRedisTemplate.opsForValue().increment(redisIdKey, 1);
return redisKey;
}
}
snowflake
详见写的另一篇文章。
https://blog.csdn.net/lydms/article/details/124696135