import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.support.atomic.RedisAtomicLong;
import java.text.SimpleDateFormat;
import java.util.concurrent.TimeUnit;
private String incr() {
SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");
String key = "DH" + f.format(new Date());
String packageName = "ServiceProduct:";
RedisAtomicLong entityIdCounter = new RedisAtomicLong(packageName + key, redisTemplate.getConnectionFactory());
Long increment = entityIdCounter.getAndIncrement();
//自增长从1开始
if(increment<1){
increment=entityIdCounter.getAndIncrement();
}
//过期时间为一天
Integer liveTime = 1;
//初始设置过期时间
if (null == increment || increment.longValue() == 0|| increment.longValue() == 1) {
entityIdCounter.expire(liveTime, TimeUnit.DAYS);
}
//填充位数6位
return key + String.format("%06d", increment);
}
Redis自动生成根据时间自增长业务序列号
最新推荐文章于 2023-11-27 11:04:31 发布