抽奖概率装配
00 分钟
2024-12-19
  1. 空间换时间:提前计算好抽奖概率分布,用本地内存 guava 或者 redis 存储,最后抽奖的时候通过生成的随机值,在空间内定位即可,复杂度为O(1)。但要注意,本地内存更快,Redis 相对慢一些。但 Redis 可以直接解决分布式存储问题,本地内存需要让多台分布式机器都保持数据的同步更新,需要引入配置中心以及定时检测的手段,来处理应用启动前/运行中,对活动新增/变更做本地内存做数据加载处理
  1. 时间换空间:就是抽奖的计算。在抽奖的时候生成一个随机值,之后和概率范围循环比对。这样的场景适合需要非常大的空间存放抽奖概率时(不划算)可以考虑。后续考虑在程序中设定,当总概率值超过100万,则不存储,而是改为循环比对。但,一切的手段,都要与实际诉求来依赖。
notion image
 
上一篇
很鸡儿扯的报错
下一篇
说明

评论
Loading...