菜鸟科技网

Redis命令参考手册有哪些常用命令?

Redis命令参考手册是开发者和运维人员在使用Redis时不可或缺的工具,它详细列出了Redis支持的各种命令及其用法、参数和返回值,Redis作为一款高性能的内存数据库,以其丰富的数据结构和高效的命令执行能力著称,掌握这些命令能够充分发挥Redis的性能优势,以下将按照数据类型分类,详细介绍Redis的核心命令,并辅以表格说明,最后附上常见问题解答。

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

字符串(String)操作

字符串是Redis最基本的数据类型,可以存储文本、JSON、序列化对象等数据,常用命令包括:

  • SET:设置指定key的值,语法为SET key value [EX seconds|PX milliseconds] [NX|XX],其中EXPX可设置过期时间,NX表示key不存在时才设置,XX表示key存在时才设置。
  • GET:获取指定key的值,语法为GET key,若key不存在则返回nil。
  • INCR/DECR:将key的值增1或减1,若key不存在则初始化为0后再操作,语法为INCR keyDECR key
  • INCRBY/DECRBY:按指定数值增减,语法为INCRBY key incrementDECRBY key decrement
  • MSET/MGET:批量设置或获取多个key的值,语法为MSET key value [key value ...]MGET key [key ...]
命令 语法示例 功能描述
SET SET name "Alice" 设置key为name的值为"Alice"
GET GET name 获取key为name的值
INCR INCR visits 将visits的值加1
MSET MSET k1 v1 k2 v2 同时设置k1和k2的值

列表(List)操作

列表是按顺序插入的字符串元素集合,常用于消息队列、文章列表等场景,常用命令包括:

  • LPUSH/RPUSH:从列表左端或右端插入元素,语法为LPUSH key value [value ...]RPUSH key value [value ...]
  • LPOP/RPOP:从列表左端或右端弹出元素,语法为LPOP keyRPOP key
  • LRANGE:获取列表指定范围的元素,语法为LRANGE key start stop,索引从0开始,-1表示最后一个元素。
  • LLEN:获取列表长度,语法为LLEN key
命令 语法示例 功能描述
LPUSH LPUSH tasks "task1" 向tasks列表左侧添加"task1"
LRANGE LRANGE tasks 0 -1 获取tasks列表所有元素
RPOP RPOP tasks 从tasks列表右侧弹出元素

哈希(Hash)操作

哈希是键值对集合,适合存储对象类型数据,如用户信息、商品属性等,常用命令包括:

  • HSET:设置哈希表field的值,语法为HSET key field value
  • HGET:获取哈希表中指定field的值,语法为HGET key field
  • HGETALL:获取哈希表中所有field和value,语法为HGETALL key
  • HINCRBY:将哈表中指定field的值增加整数,语法为HINCRBY key field increment
命令 语法示例 功能描述
HSET HSET user:1 name "Bob" 设置user:1的name字段为"Bob"
HGETALL HGETALL user:1 获取user:1的所有字段和值
HINCRBY HINCRBY user:1 score 5 将user:1的score字段值加5

集合(Set)操作

集合是无序的唯一字符串元素集合,常用于去重、共同好友等场景,常用命令包括:

Redis命令参考手册有哪些常用命令?-图2
(图片来源网络,侵删)
  • SADD:向集合添加一个或多个成员,语法为SADD key member [member ...]
  • SMEMBERS:获取集合中所有成员,语法为SMEMBERS key
  • SISMEMBER:判断成员是否是集合的成员,语法为SISMEMBER key member,返回1表示存在,0表示不存在。
  • SUNION:返回多个集合的并集,语法为SUNION key [key ...]
命令 语法示例 功能描述
SADD SADD tags "redis" 向tags集合添加"redis"
SMEMBERS SMEMBERS tags 获取tags集合所有成员
SISMEMBER SISMEMBER tags "redis" 判断"redis"是否在tags集合中

有序集合(Sorted Set)操作

有序集合是唯一字符串成员集合,每个成员关联一个double类型的分数,通过分数排序,常用命令包括:

  • ZADD:向有序集合添加成员,语法为ZADD key score member [score member ...]
  • ZRANGE:通过索引区间返回有序集合的成员,语法为ZRANGE key start stop [WITHSCORES]WITHSCORES表示返回分数。
  • ZSCORE:获取成员的分数,语法为ZSCORE key member
  • ZREMRANGEBYRANK:移除有序集合中指定排名区间的成员,语法为ZREMRANGEBYRANK key start stop
命令 语法示例 功能描述
ZADD ZADD leaderboard 100 "Alice" 向leaderboard添加成员"Alice",分数100
ZRANGE ZRANGE leaderboard 0 -1 WITHSCORES 获取leaderboard所有成员及分数
ZREMRANGEBYRANK ZREMRANGEBYRANK leaderboard 0 1 移除leaderboard排名前两名的成员

通用键(Key)操作

  • DEL:删除一个或多个key,语法为DEL key [key ...]
  • EXISTS:检查key是否存在,语法为EXISTS key,返回1表示存在,0表示不存在。
  • TTL:获取key的剩余过期时间(秒),语法为TTL key,返回-1表示永不过期,-2表示key不存在。
  • KEYS:查找符合模式的key,语法为KEYS pattern,如KEYS user:*,生产环境慎用,可能阻塞服务器。

相关问答FAQs

问题1:Redis中如何设置key的过期时间?
答:可以通过SET命令的EXPX参数设置过期时间,例如SET key value EX 60表示60秒后过期;也可以使用EXPIRE key seconds命令单独设置,例如EXPIRE mykey 300表示5分钟后过期。SETEX命令可以直接设置key值并指定过期时间,语法为SETEX key seconds value

问题2:Redis事务如何使用,有哪些特点?
答:Redis事务通过MULTIEXECDISCARDWATCH命令实现,使用MULTI开启事务,后续命令进入队列,通过EXEC执行事务中的所有命令(原子性执行),DISCARD取消事务,事务的特点是:1)原子性:事务中的命令要么全部执行,要么都不执行;2)隔离性:事务执行期间,其他客户端的请求不会干扰;3)不保证回滚:Redis事务不支持回滚,即使某条命令执行失败,后续命令仍会执行。

MULTI  
SET key1 "value1"  
SET key2 "value2"  
EXEC  
Redis命令参考手册有哪些常用命令?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇