Laravel之缓存

一.默认缓存的配置
缓存配置位于config/cache.php,你可以使用memcache,redis,数据库缓存,文件缓存等.默认是文件缓存

二.缓存获取

1.获取
$value = Cache::get('key');
// 默认值
$value = Cache::get('key','default');
// 访问多个缓存存储
$value = Cache::store('file')->get('foo');
Cache::store('redis')->put('bar', 'baz', 10);

// 传递一个闭包,如果数据不存在
 $user = Cache::get('user1', function() {
            return User::where('id', 1)->select('name')->first()->name;
});

2.检查缓存是否存在
if (Cache::has('key')) {
	//
}



三.缓存写/更新

1.写/更新
a.put,无论缓存是否存在,均写入或者更新
Cache::put('key', 'value', $minutes);//第三个参数为缓存多少分钟
除了传递缓存项失效时间,你还可以传递一个代表缓存项有效时间的PHP Datetime 实例:
$expiresAt = Carbon::now()->addMinutes(10);
Cache::put('key', 'value', $expiresAt);

b.add 方法只会在缓存项不存在的情况下添加缓存项到缓存,如果缓存项被添加到缓存返回true ,否则,返回
false :
Cache::add('key', 'value', $minutes);

2.forever 方法用于持久化存储缓存项到缓存,即没有过期时间,这些值必须通过forget 方法手动从缓存中移除:
Cache::forever('key', 'value');


3.增加减少缓存的值
Cache::increment('key');
Cache::increment('key', $amount);
Cache::decrement('key');
Cache::decrement('key', $amount);

4.获取或更新
$value = Cache::remember('users', $minutes, function() {
	return DB::table('users')->get();
});

如果缓存项不存在,传递给remember 方法的闭包被执行并且将结果存放到缓存中。 你还可以联合remember 和forever 方法:
$value = Cache::rememberForever('users', function() {
return DB::table('users')->get();});

5.获取缓存后删除
$value = Cache::pull('key');

四.删除

1.删除单个
Cache::forget('key');

2.清空全部
Cache::flush();

五.缓存标签
缓存标签不支持file或database缓存驱动.memcache等内存缓存通常比较适合做缓存,因为它们有有过期时间,可以被自动过期删除.

1.存储
缓存标签允许你给相关的缓存项打上同一个标签,然后可以输出被分配同一个标签的所有缓存值。你可以通过传递一个有序的标签名数组来访问被打上标签的缓存。例如,让我们访问一个被打上标签的缓存并将其值放到缓存中:
Cache::tags(['people', 'artists'])->put('John', $john, $minutes);
Cache::tags(['people', 'authors'])->put('Anne', $anne, $minutes);

2.获取
$john = Cache::tags(['people', 'artists'])->get('John');
$anne = Cache::tags(['people', 'authors'])->get('Anne');

3.移除
Cache::tags(['people', 'authors'])->flush();//移除被打上people,authors标签的缓存,或者,Anne 和 John都会从缓存中移除:
Cache::tags('authors')->flush(); //移除被打上 authors标签的缓存,所以Anne会被移除,而John不会:

六.缓存事件
要在每次缓存操作时执行相应程序,你可以监听缓存触发的事件,通常,你可以将这些缓存处理器代码放到EventServiceProvider的boot方法中:

/**
 * 注册应用任意其他事件
 *
 * @param  \Illuminate\Contracts\Events\Dispatcher  $events
 * @return void
 */
public function boot(DispatcherContract $events){
    parent::boot($events);

    $events->listen('cache.hit', function ($key, $value) {
        //
    });

    $events->listen('cache.missed', function ($key) {
        //
    });

    $events->listen('cache.write', function ($key, $value, $minutes) {
        //
    });

    $events->listen('cache.delete', function ($key) {
        //
    });
}
  

  

转载于:https://www.cnblogs.com/itfenqing/p/6930450.html

使用缓存减轻数据库查询压力的 Laravel Caching 方法 Laravel 中,使用缓存是一种常见的方法来减轻数据库查询的压力,并提高应用程序的性能。Laravel 提供了强大的缓存功能,可以轻松地实现数据的缓存和存储。本文将介绍如何使用 Laravel Caching 组件来实现缓存数据库查询的方法,并提供相应的源代码示例。使用缓存可以显著减轻数据库查询的压力,并提高应用程序的性能。本文介绍了如何配置缓存驱动程序、缓存数据、清除缓存以及使用缓存标签。否则,将执行回调函数来获取数据,并将其存储在缓存中。缓存时,将重新执行回调函数来获取最新的数据,并更新缓存 阅读详情

相关推荐

windows11 远程桌面连接 通过代理连接RDP桌面报错 错误代码0x904 拓展错误代码0x7

打开windows Defender防火墙设置--允许应用通过防火墙更改设置--允许其他应用浏览--进入C:\WINDOWS\system32目录选择mstsc.exe进入C:\Windows\SysWOW64目录h'qmstsc.exe添加后列表里多了一个远程桌面连接,还有一个Remote Desktop Connection,配置网络权限后保存连接成功。

weixin_43978891的博客 1万+

Laravel 清除缓存

Laravel 迁移后清除缓存

weixin_44542598的博客 1442

BLDC方波控制双闭环Simulink仿真模型

无刷直流电机方波控制双闭环Simulink仿真模型搭建详细教程,包括速度PI环、电流PI环、换向逻辑和受控电压源,仿真结果良好。

m0_57458432的博客 6830

Laravel+Redis 数据缓存

Laravel+Redis 数据缓存

weixin_49494410的博客 880

Laravel框架的缓存操作

在上述代码中,driver 表示缓存驱动,不同的缓存系统需要通过驱动类来让Laravel 进行存取,在Laravel 中已经内置了 file 驱动,path用于配置缓存文件的保存路径。需要注意的是,这些方法在不同的缓存驱动中可能会有一些细微的差异,但在大多数情况下,它们都会有相同的行为。与 put 方法不同,forever 方法会将值永久地存储在缓存中,直到手动删除或清除缓存。如果缓存键不存在,add 方法会将指定的值存储在缓存中,并且可以设置一个过期时间。如果缓存键已经存在,put 方法会覆盖原有的值。

yqh1561641819的博客 2552

laravel 缓存

laravel缓存

a1720417545的博客 1254

laravel篇之缓存

简介 PHP缓存包括PHP编译缓存PHP数据缓存两种。PHP是一种解释型语言,属于边编译边运行的那种。这种运行模式的优点是程序修改很方便,但是运行效率却很低下。PHP编译缓存针对这种情况做改进处理,使得PHP语言只要运行一次,就可以把程序的编译结果缓存起来。这样,接下来的每次运行都不需要再次编译了,这大大提高PHP运行速度。 在大部份情况下我们的网站都会使用数据库作为站点数据存储的容器。当你执...

李澎昆的博客 2084

laravel缓存html,Laravel 缓存操作

Laravel 为不同的缓存系统提供了统一的 API。缓存配置位于 config/cache.phpLaravel 目前支持主流的缓存后端如 File、Memcached 和 Redis 等,默认是使用文件缓存。env文件配置 ,推荐修改这里config/cache.php 文件,不建议直接修改默认laravel支持缓存介质:"apc", "array", "database", "file",...

weixin_30696755的博客 444

Laravel 清理缓存 - 命令

使用laravel命令清除laravel程序缓存, 立马获取/达到想要效果.

"代码"的日常搬运 1万+

laravel缓存html,Laravel 缓存分页结果

前言提高页面速度的一个很好用的方法就是使用 Cache 。而在LaravelCache的使用和配置也是相当方便,在项目中合理的使用能得到意想不到的效果(当然,使用不当也会造成坏的效果)。遇见问题于是,我写下了下面看似非常正常的代码:$newsList = Cache::remember('newsList'.$uuid, $minutes, function() {return News::wi...

weixin_39769406的博客 195

探索更强大的Laravel缓存解决方案:替代Laravel缓存

探索更强大的Laravel缓存解决方案:替代Laravel缓存库 在开发高速响应的Web应用时,缓存扮演着至关重要的角色。今天,我们要向您推荐一款专为优化Laravel缓存机制设计的强大工具——替代Laravel缓存库(Alternative Laravel Cache)。这不仅是一个简单的Redis和文件缓存替换方案,它通过引入http://www.php-cache.com/提供的先进缓存池技...

gitblog_00532的博客 978

laravel cache缓存

laravel为不同的缓存系统提供了统一的api,缓存配置位于文件目录(config/catche.php) 主要的方法: Cache::put() Cache::get() Cache::add() Cache::pull() Cache::forever() Cache::forget() Cache::has() 系统默认是文件缓存缓存的目录位于,storage/framwork/cache/data 使用cache之前要先在控制器文件里引用, (1)设置缓存 语法: put: Cache::

qq_45844648的博客 7804

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\

Peak Xin's Blog 2352

laravel的响应及缓存功能

laravel中,相应正常情况下有2个类型:常规的直接响应,另外一个是ajax的响应。 其中展示视图以及直接响应字符串都属于常规的响应。 1.1 常规响应: 展示视图:return view('welcome'); 直接返回某个字符串:return 'hello world'; 1.2 ajax请求的响应 语法:return response() -> json(需要json输出的数据); // 数据是数组格式,对象也可以 例:创建一个路由,访问对应的页面之后,获取member表信息,页面输

瑾的日常 2671

laravel中的缓存文件_通过速度比较在Laravel中进行缓存

laravel中的缓存文件Caching is one aspect of web development I am guilty of overlooking a lot and I am sure a lot us are guilty of that too. I have come to realize how important it is and I will explain the ...

culiu9261的博客 2061

laravel缓存html,laravel 生成页面静态缓存

page-cache 绝对是一个了不起的神器,可能在访问应用后生成完整的 html 静态页面,再通过配置 nginx,下次访问时就可以直接读取静态页面,让你的站点速度快到飞起,完全可以构建成一个全静态化站点,再结合 vue 就可以有很好的交互体验安装$ composer require silber/page-cache注册到中间件 app/Http/Kernel.phpprotected $mi...

weixin_30311521的博客 1177

Laravel缓存系统

原文 Laravel缓存系统从缓存中获取数据在缓存中存储数据数据永久存储删除缓存中的数据缓存标记写入被标记的缓存数据访问被标记的缓存数据移除被标记的缓存数据增加自定义的缓存驱动 从缓存中获取数据 Cache::has('key') // 查询是否存在key Cache::get('key'); // 获取key的值 Cache::get('key', 'default'); // 用来指定...

qq_40414209的博客 363

Laravel 中,清空缓存大全

Laravel 的路由缓存可以提高应用程序的性能,但在开发过程中,你可能需要频繁地更改路由,因此需要清除路由缓存Laravel 的查询缓存可以提高数据库查询的性能,但在某些情况下,你可能需要清除数据库查询缓存。类似于路由缓存,配置缓存可以提高应用程序的性能。当你更改了配置文件并希望立即生效时,可以清除配置缓存。在 Laravel 中,清空缓存通常涉及到清除应用程序中的缓存文件和数据库查询缓存。请注意,在执行这些命令时,你需要确保已经安装了 Laravel,并且正在项目的根目录下运行终端或命令行。

qq_40970275的博客 2800

清除laravel缓存命令

清除Laravel(终端)中的缓存 登录运行laravel应用程序的系统并打开终端。然后导航到Laravel应用程序代码。在这里,就可以使用以下命令来清除缓存: 1、清除应用程序缓存 运行以下命令以清除Laravel应用程序的应用程序缓存 1 $ php artisan cache:clear 2、清除路由缓存 要清除Laravel应用程序的路由缓存,请从shell执行以下命令。 1 $ php artisan route:

wang_kailiang的专栏 8015
上一篇: 【独家】60年人工智能简史
下一篇: 2017-06-01 前端日报
weixin_33786077
博客等级 码龄11年 4911粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值