可将redis配置为laravel缓存驱动以提升读取效率、降低数据库压力:一、安装启用redis扩展;二、配置database.php和cache.php中redis连接参数;三、.env设cache_driver=redis并清配置缓存;四、用cache门面读写;五、优化连接池与序列化方式。

如果您在Laravel项目中希望提升数据读取效率、降低数据库压力,则可将Redis配置为缓存驱动。以下是实现该目标的具体方法:
一、安装并启用Redis扩展
使用Redis前需确保PHP环境已安装redis扩展,并在Laravel中正确识别。该扩展提供PHP与Redis服务器通信的底层支持。
1、通过PECL安装redis扩展:pecl install redis。
2、在php.ini中添加扩展配置:extension=redis.so(Linux/macOS)或extension=php_redis.dll(Windows)。
3、重启Web服务器(如Apache或Nginx)及PHP-FPM服务,使扩展生效。
4、执行php -m | grep redis验证扩展是否已加载。
二、配置Redis连接参数
Laravel通过config/database.php和config/cache.php统一管理Redis连接与缓存驱动,需确保两者指向同一Redis实例以避免行为不一致。
1、打开config/database.php,在redis数组中设置host、port、password、database等字段,例如:'host' => env('REDIS_HOST', '127.0.0.1')。
2、确认.env文件包含对应环境变量:REDIS_HOST=127.0.0.1、REDIS_PORT=6379、REDIS_PASSWORD=null。
3、打开config/cache.php,将default选项设为'redis',并在stores.redis.driver下指定'redis'驱动类型。
三、切换缓存驱动为Redis
修改缓存驱动可全局启用Redis作为默认缓存后端,所有Cache::get()、Cache::put()等操作将自动路由至Redis。
1、编辑.env文件,将CACHE_DRIVER值改为:CACHE_DRIVER=redis。
Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。
2、运行php artisan config:clear清除配置缓存。
3、执行php artisan cache:clear清空当前缓存存储,防止残留文件驱动数据干扰。
四、使用Cache门面进行读写操作
通过Laravel内置的Cache门面,可无需直接操作Redis客户端即可完成键值存取,同时保持与驱动无关的代码结构。
1、在控制器中引入门面:use Illuminate\Support\Facades\Cache;。
2、写入缓存:Cache::put('key_name', $value, 3600);(单位为秒)。
3、读取缓存:$data = Cache::get('key_name');,若不存在返回null。
4、设置带默认值的读取:$data = Cache::get('key_name', 'default_value');。
五、配置Redis连接池与序列化方式
高并发场景下,调整连接池参数与序列化策略可减少TCP握手开销并提升反序列化性能。
1、在config/database.php的redis.default配置块中添加:'options' => ['prefix' => 'laravel_cache:'],用于隔离缓存命名空间。
2、设置序列化方式为igbinary(需PHP扩展支持):'options' => [Redis::OPT_SERIALIZER => Redis::SERIALIZER_IGBINARY]。
3、若使用predis客户端,可在config/database.php中为redis.servers.default添加'read_write_timeout' => 60以避免长阻塞。










