1、IIS为了提高性能,默认情况下会对静态文件js、html、gif、png等做内部缓存,这个缓存是在服务器iis进程的内存中的。IIS这么做在很大程度上可以提高静态文件的访问性能,在正常情况下只要静态文件更新了IIS也会更新缓存。但是如果更新的静态文件很多就有可能出现缓存不更新的情况。
2、首先需要设置IIS允许运行时编辑Metabasexml文件
打开IIS,然后打开IIS属性页,勾选上“允许直接编辑配置数据库”选项
3、在运行中输入notepad c:\WINDOWS\system32\inetsrv\MetaBasexml 打开IIS配置文件
4、在文件中搜索要配置禁止缓存的虚拟目录名字,找到类似如下配置节
<IIsWebVirtualDir Location ="/LM/W3SVC/1832041641/root/inc" AccessFlags="AccessRead | AccessScript" AppFriendlyName="inc" AppIsolated="2" AppRoot="/LM/W3SVC/1832041641/Root/inc" DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc" Path="D:\publish\inc" ></IIsWebVirtualDir>
在IIsWebVirtualDir配置节中添加 MD_VR_NO_CACHE=”1“ 属性
5、保存配置文件,重启IIS即可。
如果想配置服务器上的所有站点都禁用IIS缓存可以通过修改注册表实现:
编辑注册表中的 DisableStaticFileCache值,0为启用,1为禁用 ,该键值的位置位于:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters
如果该键不存在可以新建。
注意事项:
通常情况下我们并不需要禁用IIS的静态文件缓存,iis会自动根据静态文件的修改时间自动更新缓存;只有在你遇到非常情况下才有必要禁用IIS缓存。IIS缓存和>
以上答案供您参考
多素材duosucaicom网站模板
为您解答望采纳
thinkphp内置了静态缓存的功能,并且支持静态缓存的规则定义。 要使用静态缓存功能,需要开启html_cache_on 参数,并且使用html_cache_rules配置参数设置静态缓存可以用layout的么~建议对于要实现类似用户登录判断的页面,还是只用一般的缓存就好了---比静态化效果差不了多少的~---如果你的缓存处理好的话。
不然就用layout或者用iframe把你需要验证的,放在一个不缓存,不静态化的页面里~这里说下Memcached的例子:
复制代码 代码如下:
<php
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
$version = $memcache->getVersion();
echo "Server's version: "$version"\n";
$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)\n";
$get_result = $memcache->get('key');
echo "Data from the cache:\n";
var_dump($get_result);
读库的例子:
复制代码 代码如下:
<php
$sql = 'SELECT FROM users';
$key = md5($sql); //memcached 对象标识符
if ( !($datas = $mc->get($key)) ) {
// 在 memcached 中未获取到缓存数据,则使用数据库查询获取记录集。
echo "n"str_pad('Read datas from MySQL', 60, '_')"n";
$conn = mysql_connect('localhost', 'test', 'test');
mysql_select_db('test');
$result = mysql_query($sql);
while ($row = mysql_fetch_object($result))
$datas[] = $row;
// 将数据库中获取到的结果集数据保存到 memcached 中,以供下次访问时使用。
$mc->add($key, $datas);
} else {
echo "n"str_pad('Read datas from memcached', 60, '_')"n";
}
var_dump($datas);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)