高并发场景下生成连续唯一编号
2021-03-07 23:22:09 11 举报
高并发场景下生成连续唯一编号,线程安全
作者其他创作
大纲/内容
数据库
返回sequence
获取分布式锁失败,重试
redis
获取sequence
sequence=sequence+1写入redis
如果需要从db获取,先加锁,redisLock.getLockByLua()
返回sequence或者是否需要从db获取,返回-1需要从数据库获取
执行lua脚本,返回最新的sequence
用户
双检查锁
加锁成功
上一步返回-1,查询db获取sequence
返回db中当前最大的sequence
释放分布式锁
0 条评论
回复 删除
下一页