基于Redis生成全局ID

尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili

方法一:预先生成

1、提前生成一批订单号放在redis中,每次使用的时候取一个,当库里没有了,再生成一批
2、使用的时候前面用系统时间戳,后面加上redis中取得的数据即可。

方法二:利用redis的自增

因为Redis是单线的,天生保证原子性,可以使用Redis的原子操作 INCR和INCRBY来实现

优点

不依赖于数据库,灵活方便,且性能优于数据库。
数字ID天然排序,对分页或者需要排序的结果很有帮助。

缺点

如果系统中没有Redis,还需要引入新的组件,增加系统复杂度。
需要编码和配置的工作量比较大。

注意:在Redis集群情况下,同样和Redis一样需要设置不同的增长步长,同时key一定要设置有效期

》可以使用Redis集群来获取更高的吞吐量。假如一个集群中有5台Redis。可以初始

你可能感兴趣的:(java,redis,java,缓存)