信息发布→ 登录 注册 退出

Laravel缓存如何使用_Laravel Cache缓存驱动配置指南

发布时间:2025-11-30

点击量:
Laravel提供多种缓存驱动以提升应用性能,支持file、database、redis、memcached和array等类型,配置位于config/cache.php,默认驱动通过.env文件的CACHE_DRIVER设置;推荐生产环境使用Redis,其配置需在config/database.php中定义独立连接,通过Cache门面可便捷操作缓存,如put、get、remember等方法实现数据存储与读取。

Laravel 提供了强大且易于使用的缓存系统,帮助开发者提升应用性能。通过合理使用缓存,可以减少数据库查询、加速页面响应。Laravel 支持多种缓存驱动,包括文件、Redis、Memcached 等,开发者可以根据项目需求灵活配置。

缓存驱动支持类型

Laravel 默认支持以下缓存驱动:

  • file:将缓存存储在文件中,适合小型应用
  • database:使用数据库表存储缓存数据
  • redis:基于 Redis 的高性能缓存,适合高并发场景
  • memcached:使用 Memcached 服务进行缓存
  • array:仅用于测试,请求结束后数据丢失

配置缓存驱动(config/cache.php)

缓存配置文件位于 config/cache.php,主要配置项如下:

'default' => env('CACHE_DRIVER', 'file'),

'stores' => [
    'file' => [
        'driver' => 'file',
        'path' => storage_path('framework/cache/data'),
    ],

    'redis' => [
        'driver' => 'redis',
        'connection' => 'cache',
    ],
],

.env 文件中设置默认驱动:

CACHE_DRIVER=redis

使用缓存的基本方法

Laravel Cache 门面提供了简洁的 API 操作缓存:

  • Cache::put('key', 'value', $seconds):写入缓存并设置过期时间
  • Cache::get('key', 'default'):获取缓存,不存在时返回默认值
  • Cache::has('key'):判断缓存是否存在
  • Cache::forget('key'):删除指定缓存
  • Cache::remember('key', $seconds, function () {}):缓存不存在时执行回调并自动保存

示例:

use Illuminate\Support\Facades\Cache;

// 缓存用户数据 60 秒
$user = Cache::remember('user_1', 60, function () {
    return User::find(1);
});

Redis 驱动配置示例

若使用 Redis,需先确保已安装 predis/predis 或启用 PHP Redis 扩展。

config/database.php 中配置 Redis 连接:

'redis' => [
    'client' => 'predis',
    'default' => [
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => 0,
    ],
    'cache' => [
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => 1, // 推荐使用独立数据库避免冲突
    ],
],
基本上就这些。根据项目规模选择合适的驱动,开发阶段可用 file,生产环境建议使用 Redis 提升性能。
标签:# database  # 数据存储  # 默认值  # 可以减少  # 是否存在  # 回调  # 高性能  # 可以根据  # 推荐使用  # 不存在  # 数据库  # memcached  # php  # default  # function  # 并发  # Array  # red  # 数据丢失  # 配置文件  # cad  # redis  # laravel  # word  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!