首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
cpython
phpunit
ssl
token
django
php绘图
vb
transform
pip
ruby
pipe
crontab
上传
grpc
service
sftp
php5
cron
gcc
phpmyadmin
smtp
makefile
storage
lvs
yaf
x86
iis
cookies
memcache
dns
log4j
多线程
laravel
caching
php
frontend
interface
pymongo
upload
ftp
asp.net
webhooks
openssl
rabbitmq
mysql
缓存
curl
压力测试
ci
cache
wordpress
struct
织梦cms
cookie
package
static
crash
队列
并发
tengine
mqtt
注入
java
cSharp
thinkphp
stdout
session
http
php水印
node.js
lavarel
sms
web3
varnish
hashmap
php框架
rust
sockets
okhttp
当前位置:
开发笔记
>
后端
> 正文
ThinkPHP函数详解:cache方法
作者:201153蜡笔小新 | 来源:互联网 | 2013-06-07 14:35
cache方法是3.0版本开始新增的缓存管理方法。注意:3.1.2版本后因cache方法并入原S方法,所以cache方法不再建议使用,用S方法即可。
cache方法是3.0版本开始新增的缓存管理方法。
注意:3.1.2版本后因cache方法并入原S方法,所以cache方法不再建议使用,用S方法即可。
cache 用于缓存设置、获取、删除操作
用法
cache($name, $value='',$optiOns=null)
参数
name(必须):如果传入数组 则表示进行缓存初始化,如果是字符串则表示缓存赋值、获取或者删除操作。
Value(可选):要设置的缓存值,如果传入null表示删除缓存,默认为空字符串。
options(可选):要设置的缓存参数,如果是数字则表示仅设置有效期
返回值
见详(根据具体的用法返回不同的值)
缓存初始化
cache方法传入数组即表示进行缓存初始化,例如:
cache
(
array
(
'type'
=>
'xcache'
,
'prefix'
=>
'think'
,
'expire'
=>
600
));
支持的配置参数根据不同的缓存方式(由type参数设置),通用的缓存参数包括:
参数名
说明
expire
缓存有效期(时间为秒)
length
缓存队列长度
prefix
缓存标识前缀
type
缓存类型
如果没有设置type参数,则默认为文件缓存,cache方法目前可以支持的缓存类型包括File、Apachenote、Apc、Eaccelerator、Memcache、Shmop、Sqlite、Db、Redis、Xcache和WinCache,不同缓存类型的缓存参数可以参考这里:
动态缓存
缓存初始化操作后返回的是一个缓存实例化对象。
如果你没有进行缓存初始化的话,cache方法会在你进行缓存操作之前自动初始化(用系统默认的缓存方式和缓存参数),默认缓存配置参数包括:
/* 数据缓存设置 */
'DATA_CACHE_TIME'
=>
0
,
// 数据缓存有效期 0表示永久缓存
'DATA_CACHE_COMPRESS'
=>
false
,
// 数据缓存是否压缩缓存
'DATA_CACHE_CHECK'
=>
false
,
// 数据缓存是否校验缓存
'DATA_CACHE_PREFIX'
=>
''
,
// 缓存前缀
'DATA_CACHE_TYPE'
=>
'File'
,
// 数据缓存类型
'DATA_CACHE_PATH'
=> TEMP_PATH
,
// 缓存路径设置 (仅对File方式有效)
'DATA_CACHE_SUBDIR'
=>
false
,
// 使用子目录缓存 (根据缓存标识的哈希创建子目录)
'DATA_PATH_LEVEL'
=>
1
,
// 子目录缓存级别
这些具体的缓存参数的用法,我们以后会在快速入门:缓存中详细描述。
缓存设置
缓存初始化之后,就可以进行缓存操作了,
cache
(
'name'
,
'value'
);
会使用当前配置的缓存方式用name标识来缓存value值。
可以单独设置该缓存数据的有效期,例如:
cache
(
'name'
,
'value'
,
3600
);
缓存数据一个小时。
为了保证缓存的安全,建议对返回值做出判断,如果缓存设置失败,则返回false,否则返回true。
3.1.2版本开始也可以直接在设置缓存的同时传入缓存设置参数,例如:
cache
(
'name'
,
'value'
,
array
(
'type'
=>
'xcache'
,
'prefix'
=>
'think'
,
'expire'
=>
600
));
获取缓存
$value = cache
(
'name'
);
如果缓存标识不存在或者已经过期,则返回false,否则返回缓存值。
删除缓存
cache
(
'name'
,
NULL
);
删除缓存标识为name的缓存数据。
如果要切换缓存方式,可以再次进行缓存初始化操作。
或者使用下面的方式:
$cache = cache
(
array
(
'type'
=>
'xcache'
,
'prefix'
=>
'think'
,
'expire'
=>
600
));
$cache
->
name =
'value'
;
// 设置缓存
$value = $cache
->
name
;
// 获取缓存
unset
(
$cache
->
name
);
// 删除缓存
如果你设置了缓存前缀的话,对应的缓存操作只是对应该缓存前缀标识的,不会影响其他的缓存。
apache
sql
redis
安全
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
memcache
深入解析ThinkPHP中的缓存管理方法:cache
本文详细介绍ThinkPHP框架中的cache方法,涵盖其功能、参数配置及使用场景,特别指出从3.1.2版本起,cache方法已被S方法取代。 ...
[详细]
蜡笔小新 2024-12-04 16:49:54
memcache
解决phpMyAdmin运行错误:mysqli_init(): 属性访问尚未允许
本文探讨了在使用phpMyAdmin过程中遇到的mysqli_init()函数错误,并提供了有效的解决方案。 ...
[详细]
蜡笔小新 2024-12-04 17:35:56
memcache
Web安全入门:MySQL基础操作与SQL注入防范
本文详细介绍了MySQL数据库的基础操作命令,包括数据库和表的基本管理,以及数据的增删查改等常用操作。同时,针对Web安全领域常见的SQL注入问题,提供了初步的理解和防范措施。 ...
[详细]
蜡笔小新 2024-12-03 14:00:48
memcache
JavaScript与PHP交互:实现方式与技巧
本文探讨了如何在JavaScript中调用PHP函数及实现两者之间的有效交互,包括通过AJAX请求、动态生成JavaScript代码等方法。 ...
[详细]
蜡笔小新 2024-12-04 16:01:36
iis
应用程序配置详解
本文介绍了配置文件的关键特性及其在不同场景下的应用,重点探讨了Machine.Config和Web.Config两种主要配置文件的用途和配置方法。文章还详细解释了如何利用XML格式的配置文件来调整应用程序的行为,包括自定义配置、错误处理、身份验证和授权设置。 ...
[详细]
蜡笔小新 2024-12-03 19:57:42
iis
解决getallheaders函数导致的500错误及8种服务器性能优化策略
本文探讨了解决getallheaders函数引起的服务器500错误的方法,并介绍八种有效的服务器性能优化技术,包括内存数据库的应用、Spark RDD的使用、缓存策略的实施、SSD的引入、数据库优化、IO模型的选择、多核处理策略以及分布式部署方案。 ...
[详细]
蜡笔小新 2024-12-03 18:26:35
service
mysql 分库分表策略_【数据库】分库分表策略
关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多, ...
[详细]
蜡笔小新 2024-12-03 13:09:47
service
ReentrantReadWriteLock的应用场景分析
在现代多线程编程中,Lock接口提供的灵活性和控制力超越了传统的synchronized关键字。Lock接口不仅使锁成为一个独立的对象,还提供了更细粒度的锁定机制,例如读写锁(ReadWriteLock)。本文将探讨如何利用ReentrantReadWriteLock提高并发性能。 ...
[详细]
蜡笔小新 2024-12-03 13:05:03
service
解析程序员与软件工程师的角色差异
本文深入探讨了程序员与软件工程师之间的主要区别,包括它们的职业定位、技能要求以及工作内容等方面的不同,旨在帮助读者更好地理解这两个角色的特点。 ...
[详细]
蜡笔小新 2024-12-03 11:53:09
service
Redis快照持久化详解
本文深入探讨了Redis的快照持久化机制,包括其工作原理、配置方法以及如何手动触发快照。通过这种方式,Redis能够确保在服务器重启后数据的安全性和完整性。 ...
[详细]
蜡笔小新 2024-12-02 19:44:23
service
Java Daemon 线程与 Random 类源码解析
本文详细探讨了 Java 中 Daemon 线程的特点及其应用场景,并深入分析了 Random 类的源代码,帮助开发者更好地理解和使用这些核心组件。 ...
[详细]
蜡笔小新 2024-12-02 18:13:21
dns
服务器与应用系统迁移策略
本文档详细介绍了服务器与应用系统迁移的策略与实施步骤。迁移不仅涉及数据的转移,还包括环境配置、应用兼容性测试等多个方面,旨在确保迁移过程的顺利进行及迁移后的系统稳定运行。 ...
[详细]
蜡笔小新 2024-12-02 17:21:37
pip
全面解读Apache Flink的核心架构与优势
Apache Flink作为大数据处理领域的新兴力量,凭借其独特的流处理能力和高效的批处理性能,迅速获得了广泛的关注。本文旨在深入探讨Flink的关键技术特点及其应用场景,为大数据处理提供新的视角。 ...
[详细]
蜡笔小新 2024-12-01 10:03:17
ruby
深入解析Go语言:为何值得学习及其在Web开发中的应用
本文探讨了Go语言(Golang)的学习价值及其在Web开发领域的应用潜力,包括其独特的语言特性和为什么它是现代软件开发的理想选择。 ...
[详细]
蜡笔小新 2024-12-01 01:41:40
service
高效利用Java异常处理
本文探讨了Java异常处理的本质,提出了设计模式以优化异常处理,并分析了在AOP模型中异常处理的应用。文章强调了正确使用Java异常对于提升代码质量和维护性的关键作用。 ...
[详细]
蜡笔小新 2024-11-30 10:46:18
201153蜡笔小新
这个家伙很懒,什么也没留下!
Tags | 热门标签
cpython
phpunit
ssl
token
django
php绘图
vb
transform
pip
ruby
pipe
crontab
上传
grpc
service
sftp
php5
cron
gcc
phpmyadmin
smtp
makefile
storage
lvs
yaf
x86
iis
cookies
memcache
dns
RankList | 热门文章
1
HTML表单中的评论栏设计与实现
2
Windows程序中的高精度定时实现方法
3
使用原生JavaScript实现连连看游戏(三):获取点击列表的索引
4
Python 中 UnboundLocalError: local variable 'COUNT' referenced before assignment 的解决方案
5
进程、线程与协程的区别与联系
6
Windows环境下Python和pip命令无法识别的解决方案
7
JavaScript 函数详解
8
Python 脚本:获取字符串中所有字符的 ASCII 值
9
Python 中的布尔值详解
10
MySQL 使用复合主键时索引的使用情况分析
11
在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器
12
JavaScript HTML5 Canvas 实现经典马里奥游戏克隆及碰撞检测问题
13
委托事件的简写与传统写法(临时函数)
14
纠删码(Erasure Code)技术详解
15
HTML5 Canvas 图片导出与上传至远程服务器的方法
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有