基于 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;
}

 

posted @ 2014-07-14 18:48  jun_wang  阅读(3045)  评论(0编辑  收藏  举报