温馨提示×

linux laravel怎样用缓存

小樊
48
2026-10-18 20:44:19
栏目: 智能运维

在 Linux 下使用 Laravel 缓存,其实和操作系统关系不大,主要是 Laravel 的缓存配置和使用方式。下面从「配置 → 使用 → 常见缓存驱动」一步步说明。


一、Laravel 缓存配置文件

Laravel 缓存配置在:

config/cache.php

默认缓存驱动在 .env 中设置:

CACHE_DRIVER=file

常见可选值:

  • file(默认,文件缓存)
  • redis
  • memcached
  • database
  • array(仅请求生命周期内)

二、Linux 下常用缓存方式

1️⃣ File 缓存(最简单,默认)

适合:

  • 小型项目
  • 单服务器

配置:

CACHE_DRIVER=file

缓存目录:

storage/framework/cache

使用:

use Illuminate\Support\Facades\Cache;

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

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

// 判断是否存在
Cache::has('name');

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

// 清空
Cache::flush();

2️⃣ Redis 缓存(推荐,生产环境)

(1)Linux 安装 Redis

sudo apt update
sudo apt install redis-server

启动:

sudo systemctl start redis
sudo systemctl enable redis

(2)安装 PHP Redis 扩展

sudo apt install php-redis

重启 PHP:

sudo systemctl restart php-fpm
# 或
sudo systemctl restart apache2

(3)配置 Laravel

.env

CACHE_DRIVER=redis

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

(4)使用方式不变

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

3️⃣ Database 缓存

适合: 不想装 Redis,但想集中管理

创建缓存表

php artisan cache:table
php artisan migrate

配置

CACHE_DRIVER=database

4️⃣ Memcached(大型项目)

安装:

sudo apt install memcached php-memcached

配置:

CACHE_DRIVER=memcached

三、Laravel 缓存常用方法

// 永久缓存
Cache::forever('key', 'value');

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

// 自增
Cache::increment('count');

// 原子锁(Redis)
Cache::lock('lock')->get(function () {
    // 业务逻辑
});

四、Linux 权限问题(常见坑)

如果报错:

Permission denied in storage/framework/cache

解决:

sudo chown -R www-data:www-data storage
sudo chmod -R 755 storage

(用户可能是 nginx 或 apache)


五、生产环境推荐方案

✅ Redis + Linux + Laravel

  • 高性能
  • 支持集群
  • 支持队列、缓存共用

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

  • 你用的是 Nginx 还是 Apache
  • 是否 多台服务器
  • 是否用 Docker

我可以给你一套最合适的 Laravel 缓存方案。

0 踩