laravel RedisException: Connection refused优雅草PMS项目管理系统报错解决-以及Redis 详细指南-优雅草卓伊凡
今天来开始更新pms系统,因为我们ppt上面要做,才发现原来打不开,此前主要是事情太多,我们一直有很多东西搁置

解决 Laravel Redis 连接被拒绝的问题
您遇到的错误是 RedisException: Connection refused,这表明 Laravel 应用程序无法连接到 Redis 服务器。以下是解决此问题的步骤:
常见原因和解决方案
1. 检查 Redis 服务是否运行
首先确认 Redis 服务器是否正在运行:
sudo systemctl status redis
如果未运行,启动它:
sudo systemctl start redis

面板打开看了redis 正常 运行

然后发现端口改为6999了, 那估计配置文件不对头。
2. 检查 Redis 配置
确保您的 Laravel 配置文件 .env 中有正确的 Redis 配置:
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_PASSWORD=null

果然 redis不对

修改后正常运行 laravel 不过 打开又有新的问题,不过不在本篇讲了
新问题 🧨 NOAUTH Authentication required.

下篇讲,本文主要讲述redis
3. 检查 Redis 服务器配置
查看 Redis 配置文件 /etc/redis/redis.conf 中的以下设置:
bind 127.0.0.1
protected-mode yes
如果 Redis 在另一台服务器上,确保 bind 设置允许来自应用服务器的连接。
4. 检查防火墙设置
确保防火墙允许 Redis 端口(默认 6379):
sudo ufw allow 6379
5. 检查 PHP Redis 扩展
确保已安装 PHP Redis 扩展:
php -m | grep redis
如果没有,安装它:
sudo apt-get install php-redis # Ubuntu/Debian
sudo systemctl restart php-fpm # 或您使用的 PHP 服务
6. 测试 Redis 连接
尝试手动连接 Redis:
redis-cli ping
应该返回 PONG。
7. 检查 Laravel Redis 配置
查看 config/database.php 中的 Redis 配置:
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DB', 0),
],
],
8. 检查持久连接设置
如果使用持久连接,确保配置正确:
'options' => [
'persistent' => true,
'persistent_id' => 'your_id_here',
],
临时解决方案
如果您需要快速恢复服务,可以暂时禁用 Redis 缓存,在 .env 中设置:
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_CONNECTION=sync
深入排查
如果以上方法都不奏效,可以:
- 在
PhpRedisConnector.php文件中的连接代码前添加日志,打印连接参数 - 检查 Redis 服务器日志
/var/log/redis/redis-server.log - 使用
telnet测试端口连通性:telnet your_redis_host 6379
Redis 详细配置与应用场景指南
Redis 详细运行配置
Redis 的配置文件通常位于 /etc/redis/redis.conf,以下是主要配置参数及其说明:
1. 基本配置
-
daemonize
yes|no:是否以守护进程方式运行 -
pidfile
/var/run/redis.pid:PID 文件位置 -
port
6379:监听端口 -
bind
127.0.0.1:绑定的IP地址 -
timeout
300:客户端空闲超时时间(秒) -
tcp-keepalive
300:TCP保持连接时间(秒)
2. 安全配置
-
requirepass
foobared:设置认证密码 -
rename-command
CONFIG "":重命名或禁用危险命令 -
protected-mode
yes:保护模式(无bind和密码时只接受本地连接)
3. 资源限制
-
maxclients
10000:最大客户端连接数 -
maxmemory
2gb:最大内存限制 -
maxmemory-policy
volatile-lru:内存满时的淘汰策略
-
-
volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰 -
allkeys-lru:从所有数据集中挑选最近最少使用的数据淘汰 -
volatile-random:从已设置过期时间的数据集中随机淘汰 -
allkeys-random:从所有数据集中随机淘汰 -
volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数据淘汰 -
noeviction:不淘汰,返回错误
-
4. 持久化配置
-
save
900 1:900秒内有1个更改则快照 -
save
300 10:300秒内有10个更改则快照 -
save
60 10000:60秒内有10000个更改则快照 -
stop-writes-on-bgsave-error
yes:快照出错时停止写入 -
rdbcompression
yes:RDB文件压缩 -
dbfilename
dump.rdb:RDB文件名 -
dir
./:持久化文件存储目录
AOF持久化配置:
-
appendonly
no:是否开启AOF -
appendfilename
appendonly.aof:AOF文件名 -
appendfsync
everysec:同步策略
-
-
always:每次写入都同步 -
everysec:每秒同步一次 -
no:不主动同步,由操作系统决定
-
5. 高级配置
-
hash-max-ziplist-entries
512:哈希使用ziplist的最大元素数 -
hash-max-ziplist-value
64:哈希使用ziplist的最大值字节数 -
activerehashing
yes:是否主动rehash - client-output-buffer-limit:客户端输出缓冲区限制
-
hz
10:后台任务执行频率(1-500)
Redis 主要应用场景
1. 缓存系统
- 减轻数据库压力
- 热点数据缓存
- 页面缓存
- 对象缓存
2. 会话存储(Session Store)
- 分布式会话共享
- 高可用会话管理
3. 消息队列系统
- 使用List实现简单队列
- Pub/Sub实现发布订阅
- Stream实现更复杂的消息队列
4. 实时排行榜/计数器
- 使用ZSET实现排行榜
- INCR实现计数器
- 实时统计在线人数等
5. 分布式锁
- SETNX实现分布式锁
- RedLock算法实现更安全的分布式锁
6. 社交网络功能
- 粉丝关系
- 时间线
- 点赞/收藏
7. 地理位置应用
- GEO命令处理地理位置
- 附近的人
- 位置搜索
8. 实时系统
- 实时监控
- 实时分析
- 实时推送
Redis 数据结构及应用对应
|
数据结构 |
常用命令 |
典型应用场景 |
|
String |
SET, GET, INCR |
缓存、计数器、分布式锁 |
|
Hash |
HSET, HGET, HINCRBY |
对象存储、用户属性 |
|
List |
LPUSH, RPOP, BLPOP |
消息队列、最新列表 |
|
Set |
SADD, SINTER, SUNION |
标签、好友关系、唯一计数 |
|
ZSet |
ZADD, ZRANGE, ZREVRANK |
排行榜、优先级队列 |
|
HyperLogLog |
PFADD, PFCOUNT |
基数统计(UV统计) |
|
GEO |
GEOADD, GEORADIUS |
地理位置、附近的人 |
|
Stream |
XADD, XREAD, XGROUP |
消息队列、事件溯源 |
Redis 生产环境最佳实践
- 内存管理:
-
- 设置合理的maxmemory
- 根据业务选择合适的淘汰策略
- 监控内存使用情况
- 持久化选择:
-
- RDB适合备份和快速恢复
- AOF提供更好的持久性保证
- 生产环境建议RDB+AOF结合使用
- 高可用:
-
- 主从复制
- Redis Sentinel实现自动故障转移
- Redis Cluster实现数据分片
- 性能优化:
-
- 合理使用Pipeline减少网络往返
- 避免大Key(单个Key过大)
- 避免热点Key(某个Key访问过于频繁)
- 合理设置连接池大小
- 安全:
-
- 设置密码认证
- 禁用危险命令
- 绑定特定IP
- 启用保护模式
Redis因其高性能、丰富的数据结构和多种持久化选项,已成为现代应用架构中不可或缺的组件,合理配置和使用Redis可以极大提升系统性能和用户体验。
文章来源于互联网:laravel RedisException: Connection refused优雅草PMS项目管理系统报错解决-以及Redis 详细指南-优雅草卓伊凡
在这个信息爆炸的时代,AI助手已成为我们工作、学习乃至生活的得力伙伴。其中,百度文心一言以其强大的自然语言处理能力和广泛的应用场景,赢得了众多用户的青睐。今天,就让我们深入探索那些让文心一言“聪明”起来的常见指令,揭秘它们背后的魔力,助你在数字世界中游刃有余,…
5bei.cn大模型教程网










