Laravel框架中如何进行高效的缓存操作?

2026-04-06 08:021阅读0评论SEO教程
  • 内容介绍
  • 相关推荐

本文共计646个文字,预计阅读时间需要3分钟。

Laravel框架中如何进行高效的缓存操作?

目录- 缓存类型(驱动)- 设置缓存- 获取缓存数据- 检查缓存项是否存在- 删除缓存数据- 缓存辅助函数- Laravel为不同缓存系统封装了统一的API- 缓存配置文件 /config/cache.php- 主要的缓存设置

目录
  • 主要的缓存类型(驱动)
  • 设置缓存
  • 获取缓存数据
  • 检查缓存项是否存在
  • 删除缓存数据
  • 缓存辅助函数

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();

Laravel框架中如何进行高效的缓存操作?

缓存辅助函数

除了使用 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缓存内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

本文共计646个文字,预计阅读时间需要3分钟。

Laravel框架中如何进行高效的缓存操作?

目录- 缓存类型(驱动)- 设置缓存- 获取缓存数据- 检查缓存项是否存在- 删除缓存数据- 缓存辅助函数- Laravel为不同缓存系统封装了统一的API- 缓存配置文件 /config/cache.php- 主要的缓存设置

目录
  • 主要的缓存类型(驱动)
  • 设置缓存
  • 获取缓存数据
  • 检查缓存项是否存在
  • 删除缓存数据
  • 缓存辅助函数

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();

Laravel框架中如何进行高效的缓存操作?

缓存辅助函数

除了使用 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缓存内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!