基于redis的分布式券码生成流程图
2021-04-15 19:12:49 0 举报
基于redis的分布式券码随机生成流程图
作者其他创作
大纲/内容
判断usenumber中是否有足够的值
不充足
成功
获取分布式锁
有值
将allnumber sets复制到usenumber中
获取1000个(数量可配置)
不存在的话,放入allnumber中和usenumber中
获取redis分布式锁(过期时间1小时)
充足
失败
从本地内存取一个
异步执行
定时等待(超过一定时间直接退出报错)
空
从内存list中获取一个
生成100000个抽奖码(个数可配置)
判断是否充足
数量少于10个(数量可配置)
否
首先记录领取记录,然后返回给用户
获取本地内存list
放到本地内存list中
判断usernumber中数量是否充足(需要加锁,双重判断,防止同一个实例多次获取)
从usenumber中取1000个
系统启动后自动运行
存储到redis sets(key:allnumber)中
结束
随机生成100000个数字
判断list中数量
判断每个数字是否在allnumber中存在
用户领取
收藏
0 条评论
回复 删除
下一页