高并发场景下生成连续唯一编号
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 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
 