基于 Redis 数据累计的实现
需求:对上传文件进行统一编号,以 xxx-YYYYmmdd-000001为编码格式,其中YYYYmmdd为当天传的日期。
技术方案:redis,get,set,incr,expireAt即可实现。
public function GetSearial() { $date = date( "Ymd",time() ); /*连接redis服务器*/ $redisObj = new Redis(); $redisObj -> connect( "url","port"); $redisObj -> select(0); if ( empty ( $redis->get($date) ) { $redisObj -> set( $date, '10000001' ); //便于后面取000001 $redisObj -> expireAt( $date, time() + 86400 ); //设置24小时后过期 } $searial = "xxx-" . $date . "-" . substr( $redisObj->get($date),-6 ); $redisObj->incr(); return $searial; }