laravel 内 redis 跨页面使用失效问题

在本地开发的 Laravel 应用中,遇到一个现象:使用 Redis 存储的数据无法在不同页面间共享,且无错误提示。问题源于配置文件中将 Redis 客户端设置为了 mock 模式,导致未实际调用 predis,从而无法正常读取数据。解决方法是确保 .env 和 database.php 中的 Redis 配置正确,避免使用 mock 客户端。Laravel 的 Redis 配置涉及 .env、database.php 和 cache.php 文件,要特别注意 client 配置和 connection 的设置,以确保正确连接和使用 Redis 服务。
摘要由CSDN通过智能技术生成

问题描述:

本地开发时,用到 redis,一个页面通过 redis 存储数据,另一个页面读取 redis 数据,但是一直读取不到,又不报错?

一句话总结下这个问题:

就是 redis 无法跨页面使用,又不报错。

问题根源:

调试发现,是配置文件内,把 redis 客户端参数配置为 mock,所以在使用 redis 时没有真正触发 predis,所以不报错。

普及一下 redis 客户端,php 的 redis 客户端有多个,官方推荐的主要有二个:Predis,phpredis。Predis 是PHP编写的,phpredis 是 c 语言写的 PHP 扩展,phpredis 性能上略胜于 Predis,性能上不必太关注,常见的业务量和计算机的运行能力可以排队对性能的担忧。

关于 laravel 内 redis 配置,涉及到的文件如下:

.env

REDIS_CLIENT=predis

......
......

REDIS_HOST=localhost
REDIS_PASSWORD=null
REDIS_PORT=6379

我就是因为把 predis 配置为 mock,所以才发生了跨页面访问不到数据的问题。

database.php

    'redis' => [

        'client' =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值