21,890
社区成员
发帖
与我相关
我的任务
分享
<?php
// 链接memcache
$memcache = new Memcache;
$memcache->addServer($server_host, $server_port, $server_persistent);
$key = 'get_time';
$get_time = $memcache->get($key);
if(!empty($get_time) && time() - $get_time < 5) {
// 5秒内重复提交,报错返回
} else {
// 首次提交或5秒后提交,正常操作
$memcache->set($key, time());
}
<?php
header("content-type:text/html;charset=utf-8");
session_start();
if(!isset($_SESSION['cha']))
{
$_SESSION['cha']=$_SERVER['REQUEST_TIME']; //单独列出来if判断分支,如果SESSION不存在就给值,如果存在就不再重复给值,刷新也不会重新获得请求值!
echo $_SESSION['cha'];
}
if ((!!isset($_SESSION['cha'])) && (($_SERVER['REQUEST_TIME']-$_SESSION['cha']) >30))
{
// 如果session存在,并且请求时间大于SESSION保存时间差为30秒,也就是过30秒后再请求,就重新给SESSION赋值,并执行查找!
$_SESSION['cha'] = $_SERVER['REQUEST_TIME'];
//......
echo '这里是查找SQL的语句';
//输出该条语句仅测试使用!正常情况只有每30秒才能输出该条语句,而后跟上查找的SQL操作和数据返回!
}
?>
<?php
header("content-type:text/html;charset=utf-8");
session_start();
if ((!!isset($_SESSION['cha'])) && (($_SERVER['REQUEST_TIME']-$_SESSION['cha']) >30))
{
// 如果session存在,并且请求时间大于SESSION保存时间差为30秒,也就是过30秒后再请求,就重新给SESSION赋值,并执行查找!
$_SESSION['cha'] = $_SERVER['REQUEST_TIME'];
//......
echo '这里是查找SQL的语句';
//输出该条语句仅测试使用!正常情况只有每30秒才能输出该条语句,而后跟上查找的SQL操作和数据返回!
}
else
{
$_SESSION['cha']=$_SERVER['REQUEST_TIME'];
echo $_SESSION['cha'];
//如果session、COOKIE为空,即为第一次执行查找,把时间附加到session/cookie,并设置一个长时间!
}
?>