ThinkPHP 3.2 开启 cache缓存的注意事项,过滤非法字符

开启缓存的配置文件 /Application/Common/conf/cache.php源码如下:

<?php
return array(
    //‘配置项‘=>‘配置值‘
    ‘LAYOUT_ON‘        => true,
    ‘HTML_CACHE_ON‘    => strpos($_SERVER[‘HTTP_HOST‘], ‘.‘) !== false, // 开启静态缓存 默认为 true 本地不开启
    ‘HTML_CACHE_TIME‘  => 3600, // 全局静态缓存有效期(秒)
    ‘HTML_FILE_SUFFIX‘ => ‘.shtml‘, // 设置静态缓存文件后缀
    ‘HTML_CACHE_RULES‘ => array(
        ‘*‘ => array(‘{:module}/{:controller}/{:action}/{$_SERVER.REQUEST_URI|md5}‘, 3600, ‘trimSW‘),
    )
);

注意:背后的 trimSW是去除所有非 / \w 的字符串,防止输入中文等特殊字符某些系统报错。

函数 trimSW的源码:

/**
 * @author      [email protected]
 * @description 去除 空格 和非\w 字符串,用于cache 配置
 *
 * @param        $str
 * @param string $emptyValue
 *
 * @return mixed|string
 */
function trimSW($str, $emptyValue = ‘_empty_‘)
{
    $str = preg_replace(‘/([^\w\/]+)/‘, ‘-‘, $str);
    if (empty($str)) {
        $str = $emptyValue;
    }

    return $str;
}
时间: 2024-11-02 19:52:53

ThinkPHP 3.2 开启 cache缓存的注意事项,过滤非法字符的相关文章

ThinkPHP 3.2.3 数据缓存与静态缓存

ThinkPHP 3.2.3 中手册中数据缓存的地址是:http://www.kancloud.cn/manual/thinkphp/1835 静态缓存的地址是:http://www.kancloud.cn/manual/thinkphp/1839 数据缓存 使用 S 方法进行数据缓存,缓存文件默认的方式是文件缓存(DATA_CACHE_TYPE = File),文件缓存默认的保存路径是 ./Application/Runtime/Temp 当使用默认的缓存方式时,不需要在配置文件中进行配置,直

thinkphp3.2开启静态缓存与缓存规则设置

网站的静态缓存对大访问量有很好的缓解作用,尤其对网站的大并发,可有效的缓解数据库的压力.在thinkphp中实现静态缓存很简单,thinkphp都已经封装好了直接调用即可. 静态缓存   首先设置 HTML_PATH 静态缓存文件目录,默认是在项目的应用目录下如:App/Html 在前台或后台打开静态缓存 1 'HTML_CACHE_ON'     =>    true,     // 开启静态缓存 3.设置静态缓存时间 1 'HTML_CACHE_TIME'   =>    3600,   

Thinkphp入门 四 —布局、缓存、系统变量 (48)

原文:Thinkphp入门 四 -布局.缓存.系统变量 (48) [控制器操作方法参数设置] http://网址/index.php/控制器/操作方法 [页面跳转] [变量调节器] Smarty变量调节器 TP变量调节器:普通的php函数 (count  strlen   str_replace) 定义:前者的输出,是后者的输入 [子模板包含] 当前模块彼此包含 <include  file=”模板名称”  /> [使用布局layout] 1. 开启布局,配置变量信息config.php 2.

Drupal 7 cache/缓存入门指南

使用Drupal构建复杂而动态的内容是件很容易的事情.但是稍有不慎,你会为这种容易付出代价.在用户查看某些复杂而动态的页面的时候,复杂的数据库查询,与高花销的计算会导致页面性能方面的问题. 解决方案之一是在Druapl的后台页面开启页面缓存.页面缓存开启后,可以在某些页面极大的降低数据库查询次数从而提高页面性能.但是这有一定的局限性,就是页面缓存仅仅对匿名用户有效.对应登录用户则会生效. 逐渐的,你可能会分析自己写过的代码,找出数据出查询的热点进行缓存优化.幸运的是,Drupal已经内置了一些缓

mybatis开启二级缓存小记

mybatis开启二级缓存小记 1.开启二级缓存 和一级缓存默认开启不一样,二级缓存需要我们手动开启 首先在全局配置文件 mybatis-configuration.xml 文件中加入如下代码: <!--开启二级缓存 --> <settings> <setting name="cacheEnabled" value="true"/> </settings> 其次在 UserMapper.xml 文件中开启缓存 <

java之Hibenate中监听事件的重写和二级cache缓存

管理缓存和统计缓存 Cache cache  = sessionFactory.getCache(); //清除指定的News对象 cache.evictEntity(News.class, id); //清除所有的news对象 cache.evictEntityRegion(News.class); //清除指定id的news所关联的参与者集合属性 cache.evictColleciton("News.actors",id); //清除所有News关联的参与者集合属性 cache.

Spring Cache 缓存解决方案

1,Cache 介绍 Spring Cache 是一套框架缓存的解决方案,SpringBoot 有效的对 Cache 做出了简化,只需要使用注解即可操作我们保存在缓存区(包括内存区,缓存服务器Redis)的缓存数据(餐桌预定表,用户表) 应用系统需要通过 Cache 来缓存不经常改变的数据,以提高系统性能和增加系统吞吐量 .避免直接访问数据库等低速存储区系统 ,缓存的数据通常存放在访问速度更快的内存中或者是低延迟存取的存储器,服务器上 . Spring Boot 集成 Cache 步骤如下 1,

注释驱动的 Spring cache 缓存介绍--转载

概述 Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 annotation,即能够达到缓存方法的返回对象的效果. Spring 的缓存技术还具备相当的灵活性,不仅能够使用 SpEL(Spring Expression Language)来定义缓存的 key 和各种 condition,还提供开箱即用的缓存

ThinkPHP中F方法快速缓存实例

一般使用文件方式的缓存就能够满足要求,而thinkPHP还提供了一个专门用于文件方式的快速缓存方法F方法. 由于采用的是PHP返回方式,所以其效率较S方法较高.F方法具有如下特点:1.简单数据缓存:2.文件形式保存:3.采用PHP返回数据方式加载缓存:4.支持子目录缓存以及自动创建:5.支持删除缓存和批量删除:$path="../Public/Runtime/";$str="fastrunaaaaaaaaaaaaaaaa";F("str/ffun"