PHP Laravel框架缓存操作介绍
目录
- 主要的缓存类型(驱动)
- 设置缓存
- 获取缓存数据
- 检查缓存项是否存在
- 删除缓存数据
- 缓存辅助函数
Laravel为不同的缓存系统封装了统一的API,缓存配置文件./config/cache.php
主要的缓存类型(驱动)
- file - 文件,默认使用
- memcached - memcached
- redis - redis
- database - 数据库
默认laravel支持缓存介质:apc
, array
, database
, file
, memcached
, redis
在配置文件.env
中修改驱动类型
CACHE_DRIVER=file
设置缓存
use Illuminate\Support\Facades\Cache; // Cache门面 # 添加 如果key不存在则添加成功,如果key存在,返回false Cache::add('key', 'value', $seconds); # 设置 不管key值是否存,都可以设置成功 Cache::put('key', 'value', $seconds); # 设置永久缓存 Cache::forever('key', 'value');
文件所生成的地方在 ./storage/framework/cache/data/
目录下
获取缓存数据
$value = Cache::get('key'); $value = Cache::get('key', 'default'); $value = Cache::get('key', function(){}); # 获取的同时并存储 $value = Cache::remember('users', $minutes, function () { return 'key不存的时候返回的数据'; });
检查缓存项是否存在
# 检查缓存的key值是否存在,存在返回true否则返回false Cache::has('key')
删除缓存数据
# 先获取再删除 $value = Cache::pull('key'); # 删除单个 Cache::forget('key'); # 清除所有的缓存 Cache::flush();
缓存辅助函数
除了使用 Cache
门面或缓存契约,还可以使用全局的 cache()
函数来通过缓存获取和存储数据。当带有一个字符串参数的 cache()
函数被调用时,会返回给定键对应的缓存值(取值):
$value = cache('key');
如果你提供了键值对数组和一个过期时间给该函数,则会在指定的有效期内存储缓存值(存储):
cache(['key' => 'value'], $seconds); cache(['key' => 'value'], now()->addMinutes(10));
cache()
函数不带任何参数被调用时会返回 Illuminate\Contracts\Cache\Factory 实现的实例,从而允许你调用其它缓存方法:
cache()->remember('users', $seconds, function () { return DB::table('users')->get(); });
到此这篇关于PHP Laravel框架缓存操作介绍的文章就介绍到这了,更多相关PHP Laravel缓存内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
本文实例讲述了PHP发送邮件确认验证注册功能.分享给大家供大家参考,具体如下: 类库: require "class.phpmailer.php"; require "class.smtp.php"; class PHP_Mailer { protected $mail; public function __construct() { $mail = new PHPMailer; $mail->SMTPDebug = 3; $mail->isSMTP()
-
PHP Laravel框架异步执行的实现详解
目录 Laravel 异步执行任务 大致操作 代码粘贴 其他操作 Laravel 异步执行任务 不影响当前程序继续执行 描述:用户操作时 要执行计算量大且不影响主操作的任务时,可采用异步方式执行. 队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短 Web 请求和响应的时间 大致操作 生成要执行的文件 php artisan make:job UploadTask .env 中的 QUEUE_CONNECTION=sync 变为 QUEUE_CONNECTION=redis Uplo
-
PHP Laravel门面的实现原理详解
目录 环境 原理 环境 Laravel 5.4 原理 在Laravel中,门面为应用服务容器中绑定的类提供了一个“静态”接口,使得我们可以不用new这些类出来,就可以直接通过静态接口调用这些类中的方法. 下面我们先看看一个门面类是怎么定义的: <?php namespace App\Facades; use Illuminate\Support\Facades\Facade; class Player extends Facade { protected static function getF
-
PHP Laravel软删除的实现方法介绍
用Laravel 自带的 Eloquent ORM 来实现软删除. 首先在数据迁移文件中添加删除时间字段 ./database/migrations/2014_10_12_000000_create_users_table.php <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; r
-
详解PHP发送邮件知识点
发送邮件是网站的常用功能,用户激活.找回密码等场景常需要发送邮件到用户邮箱.本文先回顾发送邮件的相关概念,再给出使用PHP发送邮件的示例代码. 发送短信 从功能上看,短信和邮件类似,用途常是通知和安全校验.发送短信(基本上)需要向供应商付费,所以短信供应商有动力提供清晰的文档,易用的接口方便用户接入.一般而言,发送短信的是: 寻找供应商,例如阿里大鱼.聚合数据等: 注册账户,获取appid和appkey: 申请模板: 查看接口文档,集成到应用中: 调用API发送短信. 流程简单易懂,接入和使用也
-
PHP使用laravel邮件服务发送邮件
目录 配置 生成 Mailables 编写 Mailables 配置发件人 配置 Laravel 的邮件服务可以通过 config/mail.php 配置文件进行配置. 邮件中的每一项都在配置文件中有单独的配置项,甚至是独有的「传输方式」,允许你的应用使用不同的邮件服务发送邮件 'mailers' => [ 'smtp' => [ 'transport' => 'smtp', 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 'port
-
PHP laravel使用自定义邮件类实现发送邮件
当登录邮箱为腾讯企业邮箱的时候. Phpmailer发送邮件就不好用了,具体哪里不好用,我没真没找到. 但是,邮件得发啊,怎么办呢? 我这里搞了一个自定义的发送邮件类,腾讯企业邮箱也可用. 但是,邮件发送失败,不会返回报错信息,这个可能是有点坑. 源码如下: <?php namespace App\Extend; use Exception; /** * 一个简单的PHP SMTP 发送邮件类 */ class SmtpMail { /** * @var strin
-
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
本文实例讲述了laravel框架数据库操作.查询构建器.Eloquent ORM操作.分享给大家供大家参考,具体如下: 1.连接数据库 laravel连接数据库的配置文件位于config/database.php中,在其中connection字段中包含laravel所支持的数据库的配置信息,可以看到其中有主机.端口.数据库.用户名.密码等信息: 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'),
-
laravel框架的缓存操作代码实例
laravel为不同的缓存系统提供了统一的API.缓存配置位于config/cache.php.Laravel目前支持主流的缓存后端有Memcached和Redis等. 主要方法: cache::put() cache::get() cache::add() cache::pull() cache::forever() cache::forget() cahce::has() 系统默认是使用文件缓存,其缓存文件储存的位置位于storage/framework/cahce/date 设置缓存 语法
-
Laravel框架中实现使用阿里云ACE缓存服务
之前我写了一篇在 Laravel 4 框架中使用阿里云 OCS 缓存的文章,介绍了如何通过扩展 Laravel 4 来支持需要 SASL 认证的阿里云 OCS 缓存服务.有网友问我,ACE 的缓存怎么在 Laravel 4 中使用.我本来觉得应该可以完全用相同的办法,后来自己尝试的时候才发现,ACE 的缓存差别非常大.所以再写一篇,介绍一下如何在 Laravel 框架中使用阿里云 ACE 的缓存服务. 如何扩展 Laravel 的缓存驱动 在 Laravel 4 中使用 Cache::get($
-
Laravel框架下载,安装及路由操作图文详解
本文实例讲述了Laravel框架下载,安装及路由操作.分享给大家供大家参考,具体如下: NO.1下载Laravel框架并且安装 首先,我们先点击这个链接 https://laravelacademy.org/resources-download 跳转至Laravel学院的资源下载,然后我们点击一键安装包, 下载后解压到xampp 的htdocs文件(在这里我用的是xampp) 然后更改文件名为laravel 然后我们在网页输入 这里我们要注意的是,我把laravel解压到了一个名为PHPprim
-
Laravel框架实现model层的增删改查(CURD)操作示例
本文实例讲述了Laravel框架实现model层的增删改查(CURD)操作.分享给大家供大家参考,具体如下: protected $table = 'user_city'; public $timestamps = false; //添加 返回id public function cityadd($data) { return $this->insertGetId($data); } //单条查找 public function getfind($id) { if($this->where('
-
Laravel框架实现多数据库连接操作详解
本文实例讲述了Laravel框架实现多数据库连接操作.分享给大家供大家参考,具体如下: 这篇文章介绍了在laravel中连接2个数据库的方法 一.定义连接 进入到数据库配置文件 app/config/database.php 中,你可以定义多个形式相同或不同的数据库连接.例如,你想从2个 MYSQL 数据中抓取资料到你的程式中,你可以这样定义: <?php return array( 'default' => 'mysql', 'connections' => array( # Our
-
Laravel框架中缓存的使用方法分析
本文实例讲述了Laravel框架中缓存的使用方法.分享给大家供大家参考,具体如下: 1. Laravel为各种不同的缓存系统提供了一致的API,支持的缓存有File.Memcached和Redis等 2. 主要方法 put().add().forever().has().get().pull().forget() 3. 配置文件路径 /config/cache.php 4. 添加路由 Route::get('/cache1', 'HomeController@cache1'); Route::g
-
Laravel框架实现的rbac权限管理操作示例
本文实例讲述了Laravel框架实现的rbac权限管理操作.分享给大家供大家参考,具体如下: 介绍:根据不同的权限,在菜单栏显示不同的功能,只对菜单进行了限制,若对路由也进行限制,请自行完善 1.建表(用户表.角色表.权限表.用户角色表.角色权限表) CREATE TABLE IF NOT EXISTS mr_role ( id int(11) PRIMARY KEY AUTO_INCREMENT COMMENT '自增id', name varchar(30) NOT NULL COMMENT
-
Laravel框架控制器,视图及模型操作图文详解
本文实例讲述了Laravel框架控制器,视图及模型操作.分享给大家供大家参考,具体如下: 鉴于上一篇Laravel框架下载,安装及路由操作我们讲到了路由,可能大家会觉得路由这个东西无所不,可路由这个东西事实上只是用来接收请求并转化给控制器进行处理,所以这篇文章我们就来讲控制器 NO.1控制器 说到控制器,我们不得不明白三个点. 怎么创建控制器 控制器和路由怎么样进行关联 关联控制器后怎么使用路由的特性 那么,就让我们开始学习控制器吧! 1.创建控制器 之前我在上篇文章的时候说到过九个核心目录作用
-
Laravel框架DB facade数据库操作详解
本文实例讲述了Laravel框架DB facade数据库操作.分享给大家供大家参考,具体如下: 前两篇文章我们讲述了Laravel下载介绍路由和MVC几个知识点,这篇我们就来讲述一下关于数据库的操作,有关于数据库的增删改查 创建数据库 在这里,我们需要用到的有两个文件,第一个是congfig目录下的database.php,以及Laravel目录下的env文件 如下图: 然后创建数据库这里,我用的是xampp的mysql数据库,phpMyAdmin 我们创建一个数据库,命名为laravel,如下
随机推荐
- javascript中的__defineGetter__和__defineSetter__介绍
- 在MySQL中删除表的操作教程
- Redis字符串类型的常用命令小结
- jquery实现简单的二级导航下拉菜单效果
- asp.net 正则表达式的应用
- php验证用户名是否以字母开头与验证密码实例
- Python中的高级函数map/reduce使用实例
- PHP编码转换
- PHP实现加密的几种方式介绍
- 微信小程序对接七牛云存储的方法
- CentOS系统下编译安装MySQL以及设置相关yum源的教程
- jQuery实现的淡入淡出二级菜单效果代码
- Win2003 IIS6 使用.net framework 4.0 后默认文档失效解决方案
- vue-router路由懒加载和权限控制详解
- android 开发中使用okhttp上传文件到服务器
- C++设计模式迪米特法则实例
- Python批量生成幻影坦克图片实例代码
- C#与C++之间类型的对应知识点总结
- ASP是使用正则提取内容里所有图片路径SRC的实现代码
- PHP安装BCMath扩展的方法