温馨提示×

linux laravel怎样实现缓存

小樊
42
2026-10-21 18:34:19
栏目: 智能运维

在 Linux + Laravel 环境下,实现缓存一般分三步:配置缓存驱动 → 使用缓存 API → 可选安装缓存服务(如 Redis)。下面按常见场景说明。


一、Laravel 支持的缓存驱动

Laravel 默认支持:

  • file(默认,文件缓存)
  • redis(最常用)
  • memcached
  • database
  • array(仅当前请求)

二、使用 File 缓存(最简单,无需安装)

1. 配置

.env

CACHE_DRIVER=file

默认缓存目录:

storage/framework/cache

2. 使用示例

use Illuminate\Support\Facades\Cache;

// 写入缓存
Cache::put('name', 'Laravel', 600); // 10分钟

// 读取
$name = Cache::get('name');

// 永久缓存
Cache::forever('site', 'example.com');

// 删除
Cache::forget('name');

三、使用 Redis 缓存(推荐,生产环境)

1. 安装 Redis(Linux)

sudo apt update
sudo apt install redis-server

启动:

sudo systemctl start redis
sudo systemctl enable redis

2. 安装 PHP Redis 扩展

sudo apt install php-redis
sudo systemctl restart apache2   # 或 php-fpm

3. 配置 Laravel

.env

CACHE_DRIVER=redis

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

4. 使用方式(和 file 一样)

Cache::put('user_1', $user, 3600);
$user = Cache::get('user_1');

四、数据库缓存(不用 Redis 时)

1. 生成缓存表

php artisan cache:table
php artisan migrate

2. 配置

CACHE_DRIVER=database

五、缓存常用操作速查

// 不存在才写入
Cache::add('key', 'value', 600);

// 获取或回调
$value = Cache::remember('users', 600, function () {
    return DB::table('users')->get();
});

// 清空缓存
php artisan cache:clear

六、生产环境建议

✅ 使用 Redis
✅ 设置合理过期时间
✅ 避免缓存大对象
✅ 用 remember 减少数据库压力


如果你愿意,可以告诉我:

  • 使用的是 Apache / Nginx + PHP-FPM
  • 是否 Docker
  • 是否 高并发场景

我可以直接给你一套完整配置方案。

0 踩