在 Linux + Laravel 环境下使用 Redis,一般包含以下几个步骤:安装 Redis、安装 PHP Redis 扩展、配置 Laravel、在代码中使用。下面给你一个完整、常用的流程。
sudo apt update
sudo apt install redis-server
sudo systemctl start redis
sudo systemctl enable redis
redis-cli ping
# 返回 PONG 表示正常
Laravel 推荐使用 phpredis 扩展(性能好)
sudo apt install php-redis
如果你用的是 PHP 8.x:
sudo apt install php8.1-redis
重启 Web 服务:
sudo systemctl restart apache2
# 或
sudo systemctl restart php8.1-fpm
查看是否安装成功:
php -m | grep redis
composer create-project laravel/laravel demo
cd demo
.envREDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
config/database.phpLaravel 默认已配置好 Redis:
'redis' => [
'client' => 'phpredis',
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD'),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
],
use Illuminate\Support\Facades\Cache;
// 写入
Cache::store('redis')->put('name', 'Laravel', 600);
// 读取
$name = Cache::store('redis')->get('name');
.env 中设置:
QUEUE_CONNECTION=redis
启动队列 worker:
php artisan queue:work redis
.env:
SESSION_DRIVER=redis
use Illuminate\Support\Facades\Redis;
// 设置
Redis::set('key', 'value');
// 获取
$value = Redis::get('key');
// Hash
Redis::hset('user:1', 'name', 'Tom');
Redis::hget('user:1', 'name');
redis-server 是否运行.env 配置sudo systemctl status redis
如果你用 Docker:
redis:
image: redis:alpine
.env:
REDIS_HOST=redis
如果你愿意,可以告诉我:
我可以直接给你一套可用的配置示例。