项目场景:
活动报名二维码,生成 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 压力。