Thinkphp - 缓存的使用 (Memcache)
ThinkPHP支持文件方式、共享内存方式和数据库方式等缓存方式。
因为ThinkPHP支持多种缓存,所以在使用之前缓存的方式和参数进行配置。
缓存方式
File、Apachenote、Apc、Eaccelerator、Memcache、Shmop、Sqlite、Db、Redis和Xcache
缓存参数
根据不同的缓存方式存在不同的参数
通用缓存参数
expire 缓存有效期(默认由DATA_CACHE_TIME参数配置)
length 缓存队列长度(默认为0)
queue 缓存队列方式(默认为file 还支持xcache和apc)
Memcache
host 缓存服务器地址( 默认为127.0.0.1)
port 端口(默认为MEMCACHE_PORT参数或者11211)
timeout 缓存超时(默认由DATA_CACHE_TIME参数设置)
persistent 长连接(默认为false)
File(文件缓存)
temp 缓存目录(默认由DATA_CACHE_PATH参数配置)
获取缓存实例
1. 使用配置文件方式(推荐)
config.php
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
2.使用代码的形式获取
- 1
- 2
- 3
- 4
存取缓存数据
缓存实例对象,快捷缓存方式
1.通过缓存实例对象进行操作
- 1
- 2
- 3
or
- 1
- 2
- 3
2. 快捷缓存方式
使用快捷缓存方式,要求必须已经配置缓存方式
为了进一步简化缓存存取操作,ThinkPHP把所有的缓存机制统一成一个S方法来进行操作,所以在使用不同的缓存方式的时候并不需要关注具体的缓存细节。
S方法
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
cache方法
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
数据库缓存
1. 数据库查询缓存
对于及时性要求不高的数据查询,我们可以使用查询缓存功能来提高性能,而且无需自己使用缓存方法进行缓存和获取。
- 1
- 2
2. SQL解析缓存
因为ThinkPHP的ORM机制,所有的SQL都是动态生成的,然后由数据库驱动执行。
所以如果你的应用有大量的SQL查询需求,那么可以开启SQL解析缓存以减少SQL解析提高性能。
- 1