导航

redis常用命令

Posted on 2025-06-03 15:57  Zyeah  阅读(40)  评论(0)    收藏  举报

零、常用

  1. 连接redis客户端
redis-cli  # 连接本地 Redis(默认端口 6379,无密码)
  1. 查看所有缓存键
KEYS "book:*"  # 应显示所有图书的缓存键,如 "book:978-7-115-41780-6"

一、mac安装redis环境

参考教程https://blog.csdn.net/realize_dream/article/details/106227622

ps axu | grep [r]edis 命令详解

退出客户端连接命令行:quit语句

二、用brew管理好像更方便

仅想管理 brew services 启动的服务(推荐)
启动服务:
bash
brew services start redis # 启动受管理的服务

停止服务:
bash
brew services stop redis # 停止服务,不会残留进程

重启服务:
bash
brew services restart redis # 重启服务

场景 3:手动启动 Redis(不通过 brew services)
启动命令(指定端口或配置文件,避免与默认服务冲突):
bash
redis-server --port 6380 # 启动在 6380 端口,避免与默认 6379 冲突

停止命令(通过 Redis 自带的 shutdown 或 kill):
bash
redis-cli -p 6380 shutdown # 正常关闭
kill -9 # 强制终止

四、避免混淆的最佳实践
统一管理方式:
如果使用 brew services 管理 Redis,就通过 brew services 启停,避免手动启动进程。
如果需要手动测试 Redis,使用非默认端口(如 6380),避免与默认服务冲突。
查看进程归属:
通过 ps axu | grep redis 输出中的命令参数判断进程来源:
redis-server *:6379:可能是 brew services 启动的默认服务。
redis-server 127.0.0.1:6380:手动启动的自定义实例。

1. 重新启动 Redis 服务

方式 1:前台启动(适用于开发测试)

# 在终端直接运行 Redis 服务器(前台模式,日志会输出到终端)
redis-server
  • 预期输出
    62001:C 03 Jun 2025 15:30:00.123 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    ...(启动日志,与首次启动类似)...
    62001:M 03 Jun 2025 15:30:00.125 * Ready to accept connections tcp
    
    • 此时终端会被 Redis 进程占用,显示实时日志,无法输入其他命令。若需退出,按 Ctrl + C (会触发安全关闭)。

方式 2:后台启动(适用于生产环境)

若希望 Redis 在后台运行(守护进程模式),需使用配置文件启动(默认配置文件路径通常为 /etc/redis/redis.conf):

redis-server /etc/redis/redis.conf
  • 验证后台运行
    ps aux | grep [r]edis  # 应显示 Redis 主进程,无终端关联
    

2. 新开终端连接 Redis

当前 Redis 服务可能在前台运行(占用第一个终端),需新开一个终端窗口进行连接操作。

使用 redis-cli 连接

# 连接本地 Redis(默认端口 6379)
redis-cli
# 或显式指定 IP 和端口(适用于非默认配置)
redis-cli -h 127.0.0.1 -p 6379
  • 成功连接后,会进入交互式命令行,显示提示符:
    127.0.0.1:6379> 
    

测试连接(发送 PING 命令)

127.0.0.1:6379> ping
PONG  # 收到 PONG 表示连接正常

3. 常见问题与解决

问题 1:连接被拒绝(Connection refused)

redis-cli: connect to redis server at 127.0.0.1:6379: Connection refused
  • 可能原因
    1. Redis 服务未启动。
    2. 端口被占用或防火墙拦截。
    3. Redis 配置中绑定了非本地 IP(如 bind 0.0.0.0 但未开放端口)。
  • 解决方法
    • 检查 Redis 进程是否存在:ps aux | grep [r]edis
    • 若未启动,重新启动服务(见步骤 1)。
    • 若为防火墙问题,开放端口 6379(如 sudo ufw allow 6379)。

问题 2:需要密码验证(NOAUTH Authentication required)

127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
  • 原因:Redis 配置中启用了密码验证(requirepass yourpassword)。
  • 解决方法
    redis-cli -h 127.0.0.1 -p 6379 -a "yourpassword"  # 连接时指定密码
    # 或连接后认证:
    127.0.0.1:6379> AUTH "yourpassword"
    OK
    

4. 安全关闭 Redis 服务

方式 1:通过 redis-cli 发送 SHUTDOWN 命令(推荐)

# 在连接的终端中执行:
127.0.0.1:6379> SHUTDOWN
# 或在系统终端直接执行:
redis-cli shutdown
  • 预期输出(前台模式终端会显示):
    * User requested shutdown...
    * Saving the final RDB snapshot before exiting.
    * DB saved on disk
    # Redis is now ready to exit, bye bye...
    

方式 2:强制终止进程(不推荐,可能丢失数据)

ps aux | grep [r]edis  # 获取 PID(如 62001)
kill 62001  # 强制终止(仅用于紧急情况)

总结流程

  1. 启动 Redisredis-server(前台)或通过配置文件后台启动。
  2. 连接验证redis-cli ping 应返回 PONG
  3. 关闭服务:优先使用 redis-cli shutdown 安全关闭。

如果在操作中遇到其他问题,请提供具体报错信息,我会进一步协助排查!