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 提升性能。











