话不多说直接上代码
public static void main(String[] args) {
RedisTemplate<String, String> redisTemplate = new RedisTemplate<>();
String key="autoKey";
Integer initial = 0;//自增key的
RedisAtomicLong entityIdCounter = new RedisAtomicLong(key, redisTemplate.getConnectionFactory());
if (entityIdCounter.get() == initial){
entityIdCounter.expire(initial, TimeUnit.SECONDS);
}
for (int i = 0; i < 10; i++) {
System.out.println(entityIdCounter.incrementAndGet());
}
}
/** * redis实现id自增,只是有一个问题,如果不配置持久化,reids自增的值会不会又从初始值开始计算,上次这个问题我问了我们技术总监,给我说,redis有一个默认几分钟会自动写入磁盘 * 待我看看redis官方文档再回来补充 * @param key redis存储自增id的k */
我在想主键冲突解决办法,是就是捕获起来,再去查最新一条的id,再把他设置到对应redis的k中,再添加
|