菜鸟科技网

Mac Redis 常用命令有哪些?

在 macOS 系统中使用 Redis,需先通过 Homebrew 安装:brew install redis,安装后启动服务为 brew services start redis,停止则为 brew services stop redis,Redis 命令主要分为五大类:键值操作、字符串操作、哈希操作、列表操作、集合操作及有序集合操作,以下是详细命令解析及使用场景。

Mac Redis 常用命令有哪些?-图1
(图片来源网络,侵删)

键值操作(Key)

键是 Redis 中最基本的数据单元,常用命令包括:

  • KEYS pattern:匹配符合模式的键,如 KEYS user:* 匹配所有以 user: 开头的键(生产环境慎用,可能阻塞服务器)。
  • EXISTS key:检查键是否存在,返回 1(存在)或 0(不存在)。
  • DEL key [key ...]:删除一个或多个键,如 DEL user:1 user:2
  • TYPE key:返回键存储的数据类型,如 stringhashlist 等。
  • TTL key:查看键的剩余生存时间(秒),返回 -1 表示永不过期,-2 表示键不存在。
  • EXPIRE key seconds:设置键的过期时间,如 EXPIRE user:1 3600(1小时后过期)。
  • RENAME key newkey:重命名键,若新键已存在则覆盖。

字符串操作(String)

字符串是 Redis 最简单的数据类型,支持二进制安全,常用于缓存、计数器等场景:

  • SET key value [EX seconds]:设置键值,可附带过期时间,如 SET session:123 "abc123" EX 3600
  • GET key:获取键值,如 GET session:123
  • MSET key1 value1 key2 value2 ...:批量设置键值,如 MSET name "Alice" age "25"
  • MGET key1 key2 ...:批量获取键值,如 MGET name age
  • INCR key:将键值递增 1,若键不存在则初始化为 0 后递增(适用于计数器)。
  • DECR key:将键值递减 1,逻辑同 INCR
  • INCRBY key increment:按指定增量递增,如 INCRBY score:1 10

哈希操作(Hash)

哈希是键值对集合,适合存储对象结构(如用户信息):

  • HSET key field value:设置哈希字段值,如 HSET user:1 name "Bob" age "30"
  • HGET key field:获取哈希字段值,如 HGET user:1 name
  • HMSET key field1 value1 field2 value2 ...:批量设置哈希字段值。
  • HMGET key field1 field2 ...:批量获取哈希字段值。
  • HGETALL key:获取哈希所有字段和值,如 HGETALL user:1
  • HKEYS key:获取哈希所有字段,如 HKEYS user:1 返回 ["name", "age"]
  • HVALS key:获取哈希所有值,如 HVALS user:1 返回 ["Bob", "30"]
  • HDEL key field [field ...]:删除哈希字段,如 HDEL user:1 age

列表操作(List)

列表是字符串集合,按插入顺序排序,支持双向操作,常用于消息队列:

Mac Redis 常用命令有哪些?-图2
(图片来源网络,侵删)
  • LPUSH key value [value ...]:从左侧(头部)插入元素,如 LPUSH messages "hello"
  • RPUSH key value [value ...]:从右侧(尾部)插入元素,如 RPUSH messages "world"
  • LPOP key:从左侧弹出元素,如 LPOP messages 返回 "hello"
  • RPOP key:从右侧弹出元素,如 RPOP messages 返回 "world"
  • LRANGE key start stop:获取列表指定范围元素,0 -1 表示全部元素,如 LRANGE messages 0 -1
  • LLEN key:获取列表长度,如 LLEN messages 返回 2

集合操作(Set)

集合是无序且不重复的字符串集合,支持交集、并集、差集运算,常用于标签系统:

  • SADD key member [member ...]:添加成员,如 SADD tags:1 "redis" "database"
  • SMEMBERS key:获取所有成员,如 SMEMBERS tags:1 返回 ["redis", "database"]
  • SREM key member [member ...]:删除成员,如 SREM tags:1 "database"
  • SISMEMBER key member:判断成员是否存在,返回 1(存在)或 0(不存在)。
  • SCARD key:获取集合成员数,如 SCARD tags:1 返回 1
  • SINTER key1 key2 ...:求交集,如 SINTER tags:1 tags:2 返回两个集合的共有成员。
  • SUNION key1 key2 ...:求并集,如 SUNION tags:1 tags:2 返回两个集合的所有成员(去重)。

有序集合操作(ZSet)

有序集合是带分数的成员集合,按分数排序,适用于排行榜:

  • ZADD key score member [score member ...]:添加成员及分数,如 ZADD leaderboard 100 "Alice" 90 "Bob"
  • ZRANGE key start stop [WITHSCORES]:按分数从低到高获取成员,加 WITHSCORES 显示分数,如 ZRANGE leaderboard 0 -1 WITHSCORES
  • ZREVRANGE key start stop [WITHSCORES]:按分数从高到低获取成员。
  • ZSCORE key member:获取成员分数,如 ZSCORE leaderboard "Alice" 返回 100
  • ZINCRBY key increment member:增加成员分数,如 ZINCRBY leaderboard 10 "Bob"(Bob 分数变为 100)。
  • ZCARD key:获取成员数,如 ZCARD leaderboard 返回 2

相关问答FAQs

Q1:Redis 在 macOS 上如何优雅关闭?
A1:推荐使用 brew services stop redis 命令,它会先优雅关闭 Redis 服务(保存数据并停止进程),避免数据丢失,若需手动关闭,可通过 redis-cli 执行 SHUTDOWN 命令,或强制终止进程(pkill redis,但可能导致数据未保存)。

Q2:macOS 上 Redis 连接失败如何排查?
A2:首先检查服务是否启动:brew services list | grep redis,若未启动则执行 brew services start redis;若已启动,检查端口是否占用(默认 6379):lsof -i :6379,或通过 redis-cli -h 127.0.0.1 -p 6379 ping 测试连接,若返回 PONG 则正常,否则检查防火墙或配置文件(/usr/local/etc/redis.conf 中的 bindport 设置)。

Mac Redis 常用命令有哪些?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇