缓存
在控制器里面,使用缓存,需要引入
use Cache
(1)设置缓存
语法:Cache::put('key', 'value', $minutes);
注意:如果该键已经存在,则直接覆盖原来的值
语法:Cache::add('key', 'value', $minutes);
add 方法只会在缓存项不存在的情况下添加数据到缓存,如果数据被成功添加到缓存返回 true,否则,返回false:
永久存储数据
forever 方法用于持久化存储数据到缓存,这些值必须通过 forget 方法手动从缓存中移除:
Cache::forever('key', 'value');
(2)获取缓存数据
Cache 中的 get 方法用于从缓存中获取缓存项,如果缓存项不存在,返回 null。如果需要的话你可以传递第二个参数到 get 方法指定缓存项不存在时返回的自定义默认值:
$value = Cache::get('key');
$value = Cache::get('key', 'default');
$value = Cache::get('name', '小宝');
可以传递一个闭包作为默认值,如果缓存项不存在的话闭包的结果将会被返回。传递闭包允许你可以从数据库或其它外部服务获取默认值:
$value = Cache::get('key', function() {
return DB::table(...)->get();
});
检查缓存项是否存在
has 方法用于判断缓存项是否存在:
if (Cache::has('key')) {
//
}
(3)删除缓存数据
语法:
$value = Cache::pull('key'); 从缓存中获取缓存项然后删除,如果缓存项不存在的话返回null
Cache::forget('key'); 使用forget 方法从缓存中移除缓存项数据
Cache::flush();使用 flush 方法清除所有缓存:
(4)获取存储
有时候你可能想要获取缓存项,但如果请求的缓存项不存在时给它存储一个默认值。例如,你可能想要从缓存中获取所有用户,或者如果它们不存在的话,从数据库获取它们并将其添加到缓存中,你可以通过使用 Cache::remember 方法实现:
$value = Cache::remember('users', $minutes, function() {
return DB::table('users')->get();
});
如果缓存项不存在,传递给 remember 方法的闭包被执行并且将结果存放到缓存中。
1、put() 键 值 有效时间(分钟)
Cache::put('key1','val1',10);
2、add() 若key2不存在,则添加成功 否则,添加失败
Cache::add('key2','val2',20);
3、forever() 永久保存对象到缓存
Cache::forever('key3','val3');
4、has() 判断是否存在
Cache::has('key1');
5、get() 取值
Cache::get('key1');
6、pull() 取值删除
Cache::pull('key1');
7、forget() 删除缓存
Cache::forget('key1');
三、存放路径:
默认的文件缓存,在执行该文件后,会在项目中storage/framework/cache/生成缓冲方件
PHP缓存技术之内存缓存:
在里就不介绍了,不是本文所要讨论的,只简单提一下:
Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。
dbcached 是一款基于 Memcached 和 NMDB 的分布式 key-value 数据库内存缓存系统。