如何禁用ECSHOP缓存,如何关闭ECSHOP缓存

熟悉ECSHOP的老站长们都知道,ECSHOP是有缓存机制的。

ECSHOP的缓存机制从一定程度上可以减少ECSHOP反复读取数据库的几率,从而一定程度上降低服务器负担,提高访问速度。

但是启用缓存机制,对一些新手站长也有不利的地方。我就遇到很多新手站长经常问,我明明修改了什么什么,为什么前台就没变化呢,这就是缓存在作怪,一般到后台清除缓存就可以了。

鉴于上述原因,有一些站长就在想能不能“禁用ECSHOP缓存,关闭ECSHOP缓存”呢?答案是肯定的。

下面就来讲一讲“如何禁用ECSHOP缓存,如何关闭ECSHOP缓存?”

ECSHOP的缓存分两种,一种是SMARTY的页面缓存;另一种是SQL查询结果的缓存。

这两种缓存都是保存在templates/caches/文件夹下。

只要我们分别关闭这两个缓存,就可以完全禁用ECSHOP的缓存。

当然你也可以根据自己的需要关闭其中某一个。

1、关闭SMARTY的缓存:

  打开includes/cls_template.php,找到下面一段

if (file_put_contents($hash_dir . ‘/‘ . $cachename . ‘.php‘, ‘<?php exit;?>‘ . $data . $out, LOCK_EX) === false)

{

trigger_error(‘can\‘t write:‘ . $hash_dir . ‘/‘ . $cachename . ‘.php‘);

}

  将这一部分注释掉即可,改成

/*

if (file_put_contents($hash_dir . ‘/‘ . $cachename . ‘.php‘, ‘<?php exit;?>‘ . $data . $out, LOCK_EX) === false)

{

trigger_error(‘can\‘t write:‘ . $hash_dir . ‘/‘ . $cachename . ‘.php‘);

}

*/

2、关闭SQL查询结果缓存

  打开includes/cls_mysql.php

  找到

  var $max_cache_time=3600;//最大的缓存时间,以秒为单位

  改为

   var $max_cache_time=0;//最大的缓存时间,以秒为单位

经过上面修改后,就已经将ECSHOP的页面缓存和数据查询缓存都禁用了,这样当你做了任何修改后,前台都能马上体现出最新的变化,但是对服务器的压力会比禁用缓存之前稍微大那么一点。

各有利弊,自己取舍吧。

时间: 2024-11-08 11:08:31

如何禁用ECSHOP缓存,如何关闭ECSHOP缓存的相关文章

ecshop二次开发系统缓存优化之扩展数据缓存的必要性与方法

1.扩展数据缓存的必要性 大家都知道ecshop系统使用的是静态模板缓存,在后台可以设置静态模板的缓存时间,只要缓存不过期,用户访问页面就相当于访问静态页面,速度可想而知,看似非常完美,但是ecshop 有一个方法被滥用了,那就是 clear_cache_files() ,该方法会把整个系统的静态模板都清除掉,商家或者系统后台管理员只要在后台修改一下商品,或者修改个其他的东西,就会调用该方法将所有静态缓存都清掉,所以如果有商家频繁的修改商品,那么静态模板缓存其实是形同虚设,系统每次都会重新执行动

Mybatis(五) 延迟加载和缓存机制(一级二级缓存)

踏踏实实踏踏实实,开开心心,开心是一天不开心也是一天,路漫漫其修远兮. --WH 一.延迟加载 延迟加载就是懒加载,先去查询主表信息,如果用到从表的数据的话,再去查询从表的信息,也就是如果没用到从表的数据的话,就不查询从表的信息.所以这就是突出了懒这个特点.真是懒啊. Mybatis中resultMap可以实现延迟加载 1.1.查询订单信息,延迟加载用户信息,一对一关系. 1.1.1.开启延迟加载 全局配置文件中,settings标签用来设置全局常量的,这里就用到了. 1 <settings>

[.net 面向对象程序设计进阶] (14) 缓存(Cache) (一) 认识缓存技术

[.net 面向对象程序设计进阶] (14) 缓存(Cache)(一) 认识缓存技术 本节导读: 缓存(Cache)是一种用空间换时间的技术,在.NET程序设计中合理利用,可以极大的提高程序的运行效率. 本节将介绍如何利用缓存写出高效率的代码. 1. 什么是缓存(Cache)? 缓存(Cache)是一种用空间换取时间的技术 存在于计算机中很多地方,用来将一些慢速设备中的常用数据保存在快速设备中,取数据的时候直接从快速设备中取. 比如CPU二级缓存.内存.windows文件读取缓存. 2. .NE

mybatis的sql 缓存,去除mybatis缓存

第二次用到mybaits,还是被同一个问题坑了几个小时,所以一定要把这个问题分享给大家.网友很多都是说了一大堆的配置,都是在mybatis.xml中配置.但是,我是没有用mybatis.xml的,我的配置都是在每个**mapper.xml中配置,无非就是一个关联实体类的路径,和一个别名. 在mybatis框架中,在SqlSession未关闭之前,在一个session里面,如果执行相同的select语句,mybatis不会重新查询数据库,而是直接返回缓存在内存中的查询结果,这个是与MyBatis的

ASP.NET Core 缓存技术 及 Nginx 缓存配置

前言 在Asp.Net Core Nginx部署一文中,主要是讲述的如何利用Nginx来实现应用程序的部署,使用Nginx来部署主要有两大好处,第一是利用Nginx的负载均衡功能,第二是使用Nginx的反向代理来降低我们后端应用程序的压力.那除了以上两点之外,其实我们还可以利用代理服务器的缓存功能来进一步的降低后端应用程序的压力,提升系统的吞吐量(tps).这一篇就来看一下具体应该如何去做吧. 目录 WEB 缓存 ASP.NET Core 缓存 内存缓存 分布式缓存 Response 缓存 Ng

I/O供应的缓存类型:全缓存,行缓存,无缓存

文件缓存进程:当数据从内存向磁盘输出时,数据必需先送到缓存中,等到缓存满了或许次第恳求清空缓存的时分,数据才被写入磁盘. 全缓存:该类型中,文件的实习操作是缓存被布满以后进行的缓存没有完全被布满时,系统不会自动将文件写入磁盘.除非系统调用改写(flush操作强即将数据写入磁盘. 行缓存:输入和输出进程中遇到行结束标志的时分,规范I/O库就实行实习的I/O操作. 无缓存:系统不会为流分配内存,每一次规范I/O函数的调用都会使得底层I/O调用被实行. 文件的翻开与关闭 当系统操作一个文件时,会在内存

01-08-05【Nhibernate (版本3.3.1.4000) 出入江湖】NHibernate二级缓存:第三方MemCache缓存

一.准备工作 [1]根据操作系统(位数)选择下载相应版本的MemCache, MemCache的下载和安装,参看: http://www.cnblogs.com/easy5weikai/p/3760677.html [2]第三方MemCache缓存适配器,下载地址: http://sourceforge.net/projects/nhcontrib/files/ 特别说明: 1.一定要版本一致 MemCache缓存适配器写本文的时候最高版本是:NHCH-3.2.0.GA-bin(不支持高版本的N

Android之本地缓存——LruCache(内存缓存)与DiskLruCache(硬盘缓存)统一框架

本文参考郭霖大神的DiskLruCache解析,感兴趣的朋友可以先到http://blog.csdn.net/guolin_blog/article/details/28863651了解. 一.前言 该框架或者说库,主要是用于本地的图片缓存处理. 数据的存入 当你取到图片的元数据,会将数据存入硬盘缓存以及内存缓存中. 数据的获取 取数据的时候,先从内存缓存中取: 如果没有取到,则从硬盘缓存中取(此时如果硬盘缓存有数据,硬盘缓存会重新将数据写入内存缓存中): 如果硬盘缓存中没有取到,则从网上重新获

浅谈Hibernate缓存机制:一级缓存、二级缓存

一:什么是缓存机制 当我们频繁访问数据库时,尤其像Hibernate持久层框架,会导致数据库访问性能降低,因此我们期望有一种机制能提供一个"缓存空间",我们将需要的数据复制到这个"缓存空间",当数据查询时,我们先在这个"缓存空间"里找,如果没有,我们再去数据库查找,这样就减少了与数据库的访问,从而提高了数据库访问性能,这就是缓存机制. 二:Hibernate缓存机制 1:一级缓存:Hibernate默认的缓存机制,它属于Session级别的缓存机