PHP自增计数器如何实现长尾词自动增长?
- 内容介绍
- 文章标签
- 相关推荐
本文共计265个文字,预计阅读时间需要2分钟。
python/*** 生成自增长数字* @param string $key 缓存key* @param int $step 自增步长* @param int $expires 缓存过期时间,单位:秒* @return int $num*/function incr_num($key='ddg', $step=1, $expires=60) { // 缓存key $cache_key=incr_num_{$key}; // 获取缓存中的值 $num=Redis::get($cache_key); // 如果缓存中没有值,则初始化为0 if ($num===null) { $num=0; } // 自增 $num +=$step; // 设置缓存 Redis::set($cache_key, $num, $expires); // 返回自增后的值 return $num;}
/** * 生成自增长数字 * * @param string $key 缓存key * @param int $step 自增长步长 * @param int $expires 缓存过期时间,单位秒 * * @return int $num; * @author leeyi <leeyisoft@qq.com> */ function incr_num($key = 'ddg', $step = 1, $expires = 0) { $redis = new \\Org\\DDG\\Redis(); $cache_key = 'incrnum:'.$key.'_setp:'.$step; $num = $redis->handler->incrBy($cache_key, (int)$step); if ($expires>0) { $pexpire = 'pexpire'; $millisecond = $expires*1000; } else { $pexpire = 'pexpireAt'; $millisecond = get_time_235959()*1000+999; } if (2>$num) { $redis->handler->$pexpire($cache_key, $millisecond); // 设置过期时间 } return $num; } /** * 根据给定时间戳,获取当天时间最后一秒的时间戳 * @author leeyi <leeyisoft@qq.com> */ function get_time_235959($time = '') { $time = empty($time) ? NOW_TIME : intval($time); return strtotime(date('Y-m-d 00:00:00', $time+86400))-1; }
本文共计265个文字,预计阅读时间需要2分钟。
python/*** 生成自增长数字* @param string $key 缓存key* @param int $step 自增步长* @param int $expires 缓存过期时间,单位:秒* @return int $num*/function incr_num($key='ddg', $step=1, $expires=60) { // 缓存key $cache_key=incr_num_{$key}; // 获取缓存中的值 $num=Redis::get($cache_key); // 如果缓存中没有值,则初始化为0 if ($num===null) { $num=0; } // 自增 $num +=$step; // 设置缓存 Redis::set($cache_key, $num, $expires); // 返回自增后的值 return $num;}
/** * 生成自增长数字 * * @param string $key 缓存key * @param int $step 自增长步长 * @param int $expires 缓存过期时间,单位秒 * * @return int $num; * @author leeyi <leeyisoft@qq.com> */ function incr_num($key = 'ddg', $step = 1, $expires = 0) { $redis = new \\Org\\DDG\\Redis(); $cache_key = 'incrnum:'.$key.'_setp:'.$step; $num = $redis->handler->incrBy($cache_key, (int)$step); if ($expires>0) { $pexpire = 'pexpire'; $millisecond = $expires*1000; } else { $pexpire = 'pexpireAt'; $millisecond = get_time_235959()*1000+999; } if (2>$num) { $redis->handler->$pexpire($cache_key, $millisecond); // 设置过期时间 } return $num; } /** * 根据给定时间戳,获取当天时间最后一秒的时间戳 * @author leeyi <leeyisoft@qq.com> */ function get_time_235959($time = '') { $time = empty($time) ? NOW_TIME : intval($time); return strtotime(date('Y-m-d 00:00:00', $time+86400))-1; }

