3分钟短文:说说Laravel通用缓存Cache的使用技巧

引言前一期我们介绍了存储用户会话数据到服务器,并通过框架提供的Session类进行数据读写操作的方法。但是有些数据,如数据库集合,API接口等等,对于全局的用户来说是无差别的,这时候我们需要全局缓存以便提供给所有的用户使用。本期就来说说Cache缓存。代码时间laravel在设计上做了很巧妙的构思,将缓存相关的类,设计得有插接件的感觉。所以,你看到Session Cache Cookie 这些缓存数据类,基本上除了底层的驱动,数据结构,过期特性等等,都集成了系统数组类Arr的操作方法。所
摘要由CSDN通过智能技术生成

引言

前一期我们介绍了存储用户会话数据到服务器,并通过框架提供的Session类
进行数据读写操作的方法。

图片

但是有些数据,如数据库集合,API接口等等,对于全局的用户来说是无差别的,
这时候我们需要全局缓存以便提供给所有的用户使用。

本期就来说说Cache缓存。

代码时间

laravel在设计上做了很巧妙的构思,将缓存相关的类,设计得有插接件的感觉。
所以,你看到Session Cache Cookie 这些缓存数据类,基本上除了底层的驱动,
数据结构,过期特性等等,都集成了系统数组类Arr的操作方法。所以上述三种缓存在
操作方法上有很多相同之处。

cache缓存的配置文件在 config/cache.php 内,支持的驱动默认是 file
也就是文本文件存储。还有很多内置可选项:

  • file 文件存储
  • apc php内置缓存
  • array 内存变量
  • database 数据库
  • memcached / redis 内存数据库
  • dynamodb aws内存数据库

其中array驱动,是把数据直接存在变量内,放在服务器内存中,一次请求结束,或者php-fpm
闲置超时释放,就会注销掉。其他都提供了持久化的方案。

当然了,Cache缓存提供的数据类型就多了去了,根据驱动的不同,支持的存储结构也不相同。
比如文件类,只能是数组,链表,键值。而redis数据库则可以存储集合。这在使用的时候,
需要格外留意。

根据键名获取一个缓存值操作方法如下:

$users = Cache::get('users');

上面的代码使用了系统启动时注册的全局Cache门面方法,我们也可以从容器内获取一个Cache实例,
比如在路由内使用依赖注入的方式实例化:

Route::get('users', function (Illuminate\Contracts\Cache\Repository $cache) {
   
    return $cache->get('users');
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值