项目场景:
活动报名二维码,生成 30W 的二维码量存放到 redis 中,并通过 redis 读取,以减轻 mysql 数据库的压力。
实现很简单,分为两步:
1、生成:通过 for 循环,以集合方式插入到 redis 中;
2、读取:通过 pop方式获取一条二维码;
// 创建二维码表
public function genQrcode($gen = false){
if(isset($_GET['gen'])) $gen = true;
if($gen){
for($i = 5200000000;$i<=(5200000000+300000);$i++){
$this->redis()->lpush('qrcode',$i);
}
}
// print_r($this->redis()->rpop('qrcode'));exit;
// t弹出一个二维码
return $this->redis()->rpop('qrcode');
}
这样做的好处是,读取速度快,减轻数据库 io 压力。