场景介绍 1. MySQL 中有 500 条视频数据 2. 用户每次请求随机获取视频列表 每次从 MySQL 中获取 20 条数据每次获得的数据不能重复 3. 用户数量、视频数量会不断增加 用户数量数量上限 1,000 万视频数量数量上限 9,000 万 方案一 Redis 集合求差集 SDIFFSTORE 优点 每条数据都是随机产生 缺点 内存消耗巨大 方案二 随机一个页数,每次请求页数递增 优点 内存消耗低 缺点 只是分页数随机没有做到所有数据都随机 方案三 一直随机页数,过滤掉已访问的页数 作者:码报国 将20个页数随机存入一个栈请求的时候从栈中弹出一个当栈为空时,遍历完所有的数据