首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
api
storage
rabbitmq
cPlusPlus
cSharp
phpunit
sockets
service
ssl
port
protocol-buffers
curl
mq
openssl
pymongo
php
redis
lvs
syslog
sftp
caching
uuid
jvm
node.js
webserver
golang
pipeline
swoole
localhost
spring
h2
phpmyadmin
cookies
nlp
cache
varnish
okhttp
interface
router
lua
java
log4j
frontend
timezone
go
transform
crash
server
yii
缓存
smtp
struct
stdout
http2
上传
tengine
cookie
gcc
makefile
queue
mvc
dns
ffmpeg
注入
pdo
漏洞
webhooks
iis
正则
gzip
session
cron
token
微服务
upload
base64
织梦cms
爬虫
rust
当前位置:
开发笔记
>
后端
> 正文
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
安全
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
lvs
网络运维工程师的前景与薪酬分析
网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ...
[详细]
蜡笔小新 2024-12-26 14:35:04
localhost
CentOS 6.3 64位系统下搭建LAMP环境并安装PHP 5.5.7
在成功安装和测试MySQL及Apache之后,接下来的步骤是安装PHP。为了确保安全性和配置的一致性,建议在安装PHP前先停止MySQL和Apache服务,并将MySQL集成到PHP中。 ...
[详细]
蜡笔小新 2024-12-23 13:08:12
redis
SQL基础入门与数据库体系概述
本文介绍了数据库体系的基础知识,涵盖关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本操作及高级功能。通过三个阶段的学习路径——基础、优化和部署,帮助读者全面掌握数据库的使用和管理。 ...
[详细]
蜡笔小新 2024-12-22 19:17:15
redis
深入探讨DB2数据库性能优化策略
本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ...
[详细]
蜡笔小新 2024-12-28 13:22:19
redis
Docker的安全基准
nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ...
[详细]
蜡笔小新 2024-12-28 13:00:24
php
深入理解 SQL 视图、存储过程与事务
本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ...
[详细]
蜡笔小新 2024-12-27 17:40:42
php
数据库内核开发入门 | 搭建研发环境的初步指南
本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ...
[详细]
蜡笔小新 2024-12-27 16:38:48
php
使用C#开发SQL Server存储过程的指南
本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ...
[详细]
蜡笔小新 2024-12-27 14:24:17
api
MyBatis:深入解析与应用
在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ...
[详细]
蜡笔小新 2024-12-27 12:17:16
redis
MySQL缓存机制深度解析
本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ...
[详细]
蜡笔小新 2024-12-26 15:15:06
caching
MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ...
[详细]
蜡笔小新 2024-12-26 13:21:38
redis
Python入门指南:从零开始的全面学习路线
本文详细介绍了Python编程语言的学习路径,涵盖基础语法、常用组件、开发工具、数据库管理、Web服务开发、大数据分析、人工智能、爬虫开发及办公自动化等多个方向。通过系统化的学习计划,帮助初学者快速掌握Python的核心技能。 ...
[详细]
蜡笔小新 2024-12-25 12:54:33
redis
科研单位信息系统中的DevOps实践与优化
本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ...
[详细]
蜡笔小新 2024-12-24 11:46:45
redis
Netflix利用Druid实现高效实时数据分析
本文探讨了全球领先的在线娱乐公司Netflix如何通过采用Apache Druid,实现了高效的数据采集、处理和实时分析,从而显著提升了用户体验和业务决策的准确性。文章详细介绍了Netflix在系统架构、数据摄取、管理和查询方面的实践,并展示了Druid在大规模数据处理中的卓越性能。 ...
[详细]
蜡笔小新 2024-12-23 11:10:01
spring
Java项目分层架构设计与实践
本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ...
[详细]
蜡笔小新 2024-12-22 12:14:24
201153蜡笔小新
这个家伙很懒,什么也没留下!
Tags | 热门标签
api
storage
rabbitmq
cPlusPlus
cSharp
phpunit
sockets
service
ssl
port
protocol-buffers
curl
mq
openssl
pymongo
php
redis
lvs
syslog
sftp
caching
uuid
jvm
node.js
webserver
golang
pipeline
swoole
localhost
spring
RankList | 热门文章
1
Android系统架构详解及关闭方法
2
酒店装修的关键细节与注意事项
3
保持冷静
4
网络原理考点之无线网络应用层协议
5
《满庭芳 寄与平张先生》翻译 原文赏析诗人元马钰
6
HNOI2003 激光炸弹问题(二维前缀和的应用)难度:中等
7
利用Python进行新冠病毒发展趋势的深度分析
8
《自尚书郎出为滁州刺史(留别朋友兼示诸弟)》翻译 原文赏析诗人唐韦应物
9
探讨密码安全的重要性
10
Chrome插件SimpSee:网页图片浏览新体验
11
解决UIScrollView上Webview点击图片后无法立即滑动的问题
12
如何在Linux启动时自动运行Python程序
13
使用CSS创建树状目录结构
14
如何将PostMan接口脚本快速集成至JMeter进行压力测试
15
PHP 封装 JSON 数据接口的简易实现
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有