在开发订单系统的时候,我们会经常用到订单号,订单号如何生成不重覆的?下面我们通过redis方法生成
function getOrderCode($prefix, $module, $length = 4)
{
$key = 'order_code:'.$module;
$redis = (new app\util\Redis())->getRedis();
if(!$redis->exists($key)){
$expire = true;//第一次设置过期时间
}
$redis->incr($key);
isset($expire) && $redis->expire($key, strtotime('tomorrow') - time());//设置到24点过期
return $prefix.'-'.date('Ymd').str_pad($redis->get($key),$length,'0',STR_PAD_LEFT);
}