ecshop怎样不用后台更新缓存同样实现前台的刷新
就是现在我每次都必须去后台更新缓存了再刷新我的前台才会显示,如果我再刷新我的前台又不显示了,这是什么原因啊!我想要显示的是我的用户登录后保存的session_id急求,知...
就是现在我每次都必须去后台更新缓存了再刷新我的前台才会显示,如果我再刷新我的前台又不显示了,这是什么原因啊!我想要显示的是我的用户登录后保存的session_id
急求,知道的告诉一下我,谢谢了! 展开
急求,知道的告诉一下我,谢谢了! 展开
1个回答
展开全部
1、首先修改数据库结构
进入 ECShop后台 ==》 数据库管理 ==》SQL查询
输入下面SQL语句,提交,注意要把表前缀更改为你自己的。我这里使用的是默认表前缀ecs_。
INSERT INTO `ecs_shop_config` VALUES (1021, 10, 'last_clear_time', 'text', '', '', '1332808200', 1);
注:1332808200这个是数据库存储的时间戳,对应于2012-03-27 08:30:00,到后台更新下缓存,它会自动变更的。
1021这个值也是可以改的,但是不建议少于1000 如果少于1000,可能对其他值会产生影响。
2、打开 includes/init.php 这个文件
在文件的最后添加如下代码:
// 自动更新缓存
if (is_temps())
{
clear_all_files();
$sql="UPDATE ".$ecs->table('shop_config') ."SET value=".time()." WHERE code='"."last_clear_time'";
$db->query($sql);
}
function is_temps()
{
if(time()-$_CFG['last_clear_time']<3600)
{
return(false);
}
else
{
return(true);
}
}
上面代码中的3600为自动更新间隔时间,单位为秒;
你可以根据自己网站的实际情况自行修改。
进入 ECShop后台 ==》 数据库管理 ==》SQL查询
输入下面SQL语句,提交,注意要把表前缀更改为你自己的。我这里使用的是默认表前缀ecs_。
INSERT INTO `ecs_shop_config` VALUES (1021, 10, 'last_clear_time', 'text', '', '', '1332808200', 1);
注:1332808200这个是数据库存储的时间戳,对应于2012-03-27 08:30:00,到后台更新下缓存,它会自动变更的。
1021这个值也是可以改的,但是不建议少于1000 如果少于1000,可能对其他值会产生影响。
2、打开 includes/init.php 这个文件
在文件的最后添加如下代码:
// 自动更新缓存
if (is_temps())
{
clear_all_files();
$sql="UPDATE ".$ecs->table('shop_config') ."SET value=".time()." WHERE code='"."last_clear_time'";
$db->query($sql);
}
function is_temps()
{
if(time()-$_CFG['last_clear_time']<3600)
{
return(false);
}
else
{
return(true);
}
}
上面代码中的3600为自动更新间隔时间,单位为秒;
你可以根据自己网站的实际情况自行修改。
追问
我想请问一下$_CFG['‘]是一个什么变量呢?是自己定义的吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询