【laravel】缓存功能的使用

配置

缓存配置位于 config/cache.php,Laravel 支持主流的缓存后端如 Memcached 和 Redis 等,默认是使用文件缓存。
在控制器里面,使用缓存,需要引入 use Cache

Redis

  1. 设置缓存
语法:Cache::put('key', 'value', $minutes);
 
注意:如果该键已经存在,则直接覆盖原来的值
 
语法:Cache::add('key', 'value', $minutes);
 
add 方法只会在缓存项不存在的情况下添加数据到缓存,如果数据被成功添加到缓存返回 true,否则,返回false:
 
永久存储数据
 
forever 方法用于持久化存储数据到缓存,这些值必须通过 forget 方法手动从缓存中移除:
 
Cache::forever('key', 'value')
  1. 从缓存中获取数据
get 方法用于从缓存中获取缓存项,如果缓存项不存在,返回 null。如果需要的话可以传递第二个参数到 get 方法指定缓存项不存在时返回的自定义默认值:

$value = Cache::get('key');
$value = Cache::get('key', 'default');

可以传递一个闭包作为默认值,如果缓存项不存在的话闭包的结果将会被返回。传递闭包允许你可以从数据库或其它外部服务获取默认值:

$value = Cache::get('key', function() {
    return DB::table(...)->get();
});

has 方法用于判断缓存项是否存在,如果值为 nullfalse 该方法会返回 falseif (Cache::has('key')) {
    //
}

获取&存储

有时候你可能想要获取缓存项,但如果请求的缓存项不存在时给它存储一个默认值。例如,你可能想要从缓存中获取所有用户,或者如果它们不存在的话,从数据库获取它们并将其添加到缓存中,你可以通过使用 Cache::remember 方法实现:

$value = Cache::remember('users', $minutes, function() {
    return DB::table('users')->get();
});
  1. 从缓存中移除数据
你可以使用 Cache 门面上的 forget 方法从缓存中移除缓存项数据:
Cache::forget('key');

还可以使用 flush 方法清除所有缓存:
Cache::flush();

获取&删除

从缓存中获取缓存项然后删除,可以使用 pull 方法,和 get 方法一样,如果缓存项不存在的话返回 null$value = Cache::pull('key');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值