XAMPP配合Redis-cli:在XAMPP Shell中直接操作和监控Redis服务

雨强姑娘_7332

雨强姑娘_7332

2026-06-17

214人浏览

原创

xampp shell无法运行redis-cli是因为其path环境变量未包含redis-cli.exe所在目录;需手动将该路径(如c:\xampp\redis6379)添加至系统path变量并重启shell,之后即可正常使用。

xampp配合redis-cli:在xampp shell中直接操作和监控redis服务

为什么 XAMPP 自带的 Shell 无法直接运行 redis-cli

XAMPP 的控制面板和 Shell(如 Windows 下的 xampp_shell.bat)默认只把 Apache、MySQL 相关路径加入环境变量,redis-cli.exe 不在其中——所以你在 XAMPP Shell 里输入 redis-cli 会报“不是内部或外部命令”。这不是权限问题,也不是没装 Redis,纯粹是 PATH 没包含它。

常见错误现象:

  • 执行 redis-cli ping 报错:'redis-cli' is not recognized as an internal or external command
  • 即使已安装 Redis 服务,XAMPP Shell 仍找不到客户端工具
  • 误以为要改 XAMPP 控制面板配置,其实它根本不处理 Redis

解决办法很简单:手动把 redis-cli.exe 所在目录加进系统 PATH,或者每次启动 Shell 后用 cd 切到对应目录再运行。推荐前者,一劳永逸。

操作步骤:

  • 确认 redis-cli.exe 位置(例如你解压到 C:\xampp\redis6379\,那它就在该目录下)
  • 右键“此电脑” → “属性” → “高级系统设置” → “环境变量” → 在“系统变量”中找到 Path → 编辑 → 新建 → 粘贴完整路径(如 C:\xampp\redis6379)
  • 重启 XAMPP Shell(或新开 CMD),执行 redis-cli -h 127.0.0.1 -p 6379 ping 应返回 PONG

如何在 XAMPP Shell 中监控 Redis 实例状态

Redis 本身没有图形化监控,但 redis-cli 提供了足够多的诊断命令。关键不是“连得上”,而是“连得稳、数据在、没阻塞”。

常用命令及含义:

  • redis-cli info:输出全量运行指标,重点关注 connected_clients、used_memory_human、instantaneous_ops_per_sec
  • redis-cli info stats:只看请求/错误统计,比如 rejected_connections 非零说明连接数超限
  • redis-cli client list:列出所有客户端连接,可查是否有长时间 idle 或 blocked 连接
  • redis-cli slowlog get 5:查最近 5 条慢查询(需提前在 redis.conf 中设 slowlog-log-slower-than 10000)

注意点:

Redis Skill - 高性能缓存管理
Redis Skill - 高性能缓存管理

Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。

下载
  • 若用非默认端口(如 6380),必须显式指定:redis-cli -p 6380 info memory
  • client list 输出中 idle 值单位是秒,超过 300 秒建议检查应用是否漏关连接
  • Windows 下 redis-cli 默认不支持管道或批量命令,别写 echo "keys *" | redis-cli —— 会失败

用 redis-cli 在 XAMPP Shell 里快速验证 PHP 连接逻辑

PHP 报 Connection refused 或 Redis server went away,八成不是代码问题,而是服务没起来、端口不对、或 PHP 连的是 localhost 而 DNS 解析慢。直接用 redis-cli 排查更快。

分三步验证:

  • 先确认服务进程在跑:netstat -ano | findstr :6379(Windows)或 lsof -i :6379(macOS/Linux)
  • 再确认本地能通:redis-cli -h 127.0.0.1 -p 6379 ping(必须用 127.0.0.1,不用 localhost;后者可能走 IPv6 或触发 DNS 查询)
  • 最后模拟 PHP 连接行为:redis-cli -h 127.0.0.1 -p 6379 set test_key "from_cli" → get test_key,看能否读写

如果第 2 步失败,说明 Redis 没监听该端口或被防火墙拦截;如果第 3 步成功但 PHP 失败,大概率是 PHP 的 redis 扩展没加载,或代码里用了 localhost 导致解析延迟超时。

避免在 XAMPP Shell 里误删 Redis 数据的实操习惯

redis-cli 没确认机制,flushall 或 del * 一敲就清空,且不可回滚。XAMPP 开发环境常共用单实例,容易手滑。

安全做法:

  • 绝不直接在生产/共享 Redis 上执行 flushall;开发机也建议先 info keyspace 看 DB 键数量
  • 批量删 key 前,先用 keys pattern* 预览(但注意:大数据量时禁用,会阻塞服务)
  • 更安全的替代方案:redis-cli --scan --pattern "tmp:*" | xargs redis-cli del(Linux/macOS),Windows 可用 PowerShell 模拟
  • 日常操作建议加 -n 参数指定 DB:redis-cli -n 1 set user:1001 "test",避免污染默认 DB 0

真正容易被忽略的是:XAMPP Shell 默认编码可能是 GBK,而 Redis key/value 若含中文或特殊字符,redis-cli 在非 UTF-8 环境下可能显示乱码或截断——此时别信输出,用 get 返回的原始字节判断实际内容。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

redis xampp

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
开发工具有哪些
开发工具有哪些

开发工具有:1、集成开发环境IDE;2、版本控制系统VCS;3、自动化构建工具;4、测试工具;5、代码分析工具。本专题为大家提供开发工具有哪些的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

2346

5

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.02

4269

19

内存数据库有哪些
内存数据库有哪些

内存数据库有Redis、Memcached、Apache Ignite、VoltDB、TimesTen、H2 Database、Aerospike、Oracle TimesTen In-Memory Database、SAP HANA和ache Cassandra。更多关于内存数据库相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.14

3775

11

mongodb和redis哪个读取速度快
mongodb和redis哪个读取速度快

redis 的读取速度比 mongodb 更快。原因包括:1. redis 使用简单的键值存储,而 mongodb 存储 json 格式的数据,需要解析和反序列化。2. redis 使用哈希表快速查找数据,而 mongodb 使用 b-tree 索引。因此,redis 在需要高性能读取操作的应用程序中是一个更好的选择。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.02

6812

6

redis怎么做缓存服务器
redis怎么做缓存服务器

redis 作为缓存服务器的答案:redis 是一款开源、高性能、分布式的键值存储,可作为缓存服务器使用。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.07

623

6

redis怎么解决数据一致性
redis怎么解决数据一致性

redis 提供了两种一致性模型,以维护副本数据一致性:强一致性 (sync) 确保写操作仅在复制到所有从节点后才完成;最终一致性 (async) 则在主节点上写操作后认为已完成,牺牲一致性换取性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.07

736

6

mysql和redis怎么保证双写一致性
mysql和redis怎么保证双写一致性

确保 mysql 和 redis 双写一致性的技术包括:1、事务性更新:同时更新 mysql 和 redis,保证一致性;2、主从复制:mysql 主服务器更改同步到 redis 从服务器;3、基于事件的更新:mysql 记录更改并发送到 redis等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.07

6402

6

redis缓存一般存些什么数据
redis缓存一般存些什么数据

redis缓存中存储的数据类型包括:字符串、哈希、列表、集合、有序集合、位图、地理空间数据和hyperloglog。这些数据类型适用于存储各种数据,从简单信息到复杂对象和地理位置。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.07

1140

6

redis的8种数据类型有哪些
redis的8种数据类型有哪些

redis 提供 8 种数据类型:字符串(文本、数字、二进制)、哈希(键值对)、列表(有序集合)、集合(无序唯一元素)、有序集合(按分数排序)、地理空间(地理位置)、hyperloglog(估计大数据基数)和位图(位序列存储)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.07

1016

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.5万人学习