首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
php绘图
pipeline
cpython
php框架
protocol-buffers
swoole
crash
上传
timeout
session
lavarel
go
pdo
cron
hashmap
varnish
分布式
ftp
crontab
sftp
mvc
cPlusPlus
rabbitmq
多线程
storage
static
ci
struct
thinkphp
mq
memcache
h2
asp.net
port
ssl
web3
php5
interface
压力测试
phpmyadmin
http
gzip
rust
mysql
队列
ruby
grpc
transform
package
stdout
server
node.js
sockets
tengine
okhttp
webserver
gcc
lvs
lua
微服务
touch
syslog
cookies
c语言
织梦cms
cache
x86
spring
pip
pymongo
vb
upload
webhooks
redis
router
openssl
nginx
nodejs
log4j
当前位置:
开发笔记
>
后端
> 正文
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
安全
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
go
SQL基础入门与数据库体系概述
本文介绍了数据库体系的基础知识,涵盖关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本操作及高级功能。通过三个阶段的学习路径——基础、优化和部署,帮助读者全面掌握数据库的使用和管理。 ...
[详细]
蜡笔小新 2024-12-22 19:17:15
分布式
网络运维工程师的前景与薪酬分析
网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ...
[详细]
蜡笔小新 2024-12-26 14:35:04
ci
Docker的安全基准
nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ...
[详细]
蜡笔小新 2024-12-28 13:00:24
storage
HDFS与Hive中的数据存储和管理机制
本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ...
[详细]
蜡笔小新 2024-12-27 20:21:48
ci
新浪笔试题
1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ...
[详细]
蜡笔小新 2024-12-27 19:32:17
ci
深入理解 SQL 视图、存储过程与事务
本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ...
[详细]
蜡笔小新 2024-12-27 17:40:42
struct
数据库内核开发入门 | 搭建研发环境的初步指南
本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ...
[详细]
蜡笔小新 2024-12-27 16:38:48
struct
使用C#开发SQL Server存储过程的指南
本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ...
[详细]
蜡笔小新 2024-12-27 14:24:17
分布式
MySQL缓存机制深度解析
本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ...
[详细]
蜡笔小新 2024-12-26 15:15:06
分布式
MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ...
[详细]
蜡笔小新 2024-12-26 13:21:38
rabbitmq
Python入门指南:从零开始的全面学习路线
本文详细介绍了Python编程语言的学习路径,涵盖基础语法、常用组件、开发工具、数据库管理、Web服务开发、大数据分析、人工智能、爬虫开发及办公自动化等多个方向。通过系统化的学习计划,帮助初学者快速掌握Python的核心技能。 ...
[详细]
蜡笔小新 2024-12-25 12:54:33
cron
Redis 持久化机制详解:RDB与AOF的原理、优缺点及选择策略
本文深入探讨了 Redis 的两种持久化方式——RDB 快照和 AOF 日志。详细介绍了它们的工作原理、配置方法以及各自的优缺点,帮助读者根据具体需求选择合适的持久化方案。 ...
[详细]
蜡笔小新 2024-12-24 18:03:44
rabbitmq
科研单位信息系统中的DevOps实践与优化
本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ...
[详细]
蜡笔小新 2024-12-24 11:46:45
rabbitmq
提升网站安全性:隐藏Apache、Nginx和PHP版本号的详细指南
本文详细介绍如何通过修改配置文件来隐藏Apache、Nginx和PHP的版本号,从而增强网站的安全性。我们将提供具体的配置步骤,并解释这些设置的重要性。 ...
[详细]
蜡笔小新 2024-12-24 10:21:12
struct
深入解析Redis内存对象模型
本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ...
[详细]
蜡笔小新 2024-12-23 14:50:23
201153蜡笔小新
这个家伙很懒,什么也没留下!
Tags | 热门标签
php绘图
pipeline
cpython
php框架
protocol-buffers
swoole
crash
上传
timeout
session
lavarel
go
pdo
cron
hashmap
varnish
分布式
ftp
crontab
sftp
mvc
cPlusPlus
rabbitmq
多线程
storage
static
ci
struct
thinkphp
mq
RankList | 热门文章
1
解决Python中 'NoneType' 对象无属性 'find_all' 错误
2
MySQL 高性能实战教程
3
华为Mate 60 Pro截屏指南
4
C#字符串处理如何从字符串中获取路径和args - C# string handling how get path and args from a string
5
使用Photoshop创作炫酷抽象光影海报
6
使用SSH密钥对实现Linux系统免密码登录
7
Java与MySQL集成的企业库存管理解决方案
8
解决Selenium浏览器实例化位置导致的闪退问题
9
帕斯卡三角形生成算法
10
移动端Canvas绘图遇到的挑战
11
深入理解CGLIB动态代理
12
Oracle与DB2的最新版本概述
13
C#中实现MD5加密的两种方法
14
配置WebStorm自动编译LESS文件并生成压缩CSS和源映射文件
15
华为CE交换机MLAG配置详解
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有