菜鸟科技网

Redis命令大全有哪些核心命令?

Redis作为一款高性能的内存数据库,其丰富的命令集是实现高效数据操作的核心,以下是Redis常用命令的详细分类及说明,涵盖数据操作、管理、持久化等多个维度,帮助用户全面掌握Redis的使用方法。

Redis命令大全有哪些核心命令?-图1
(图片来源网络,侵删)

键值操作相关命令

键值操作是Redis最基础的功能,主要包括键的增删改查及管理。

  • SET key value [EX seconds|PX milliseconds] [NX|XX]:设置键值,可指定过期时间(EX秒级或PX毫秒级)及条件(NX键不存在时设置,XX键存在时设置)。
  • GET key:获取键对应的值。
  • DEL key [key ...]:删除一个或多个键。
  • EXISTS key [key ...]:检查键是否存在,返回存在的键数量。
  • EXPIRE key seconds:设置键的过期时间(秒)。
  • TTL key:返回键的剩余生存时间(秒),-1表示永不过期,-2表示键不存在。
  • TYPE key:返回键存储的值类型(string、hash、list、set、zset等)。
  • KEYS pattern:匹配符合模式的键(如KEYS user:*),生产环境慎用可能导致阻塞。
  • SCAN cursor [MATCH pattern] [COUNT count]:增量式遍历键,避免阻塞。

字符串(String)类型命令

字符串是Redis最基本的数据结构,支持二进制安全存储。

  • INCR key:键值递增1(值需为整数)。
  • DECR key:键值递减1。
  • INCRBY key increment:键值增加指定整数。
  • APPEND key value:在字符串末尾追加值。
  • STRLEN key:返回字符串长度。
  • SETEX key seconds value:设置键值并指定过期时间。

哈希(Hash)类型命令

哈希是键值对集合,适合存储对象。

  • HSET key field value:设置哈希表字段值。
  • HGET key field:获取字段值。
  • HGETALL key:获取哈希表所有字段和值。
  • HDEL key field [field ...]:删除一个或多个字段。
  • HEXISTS key field:检查字段是否存在。
  • HINCRBY key field increment:字段值递增指定整数。
  • HKEYS key:返回所有字段名。
  • HVALS key:返回所有字段值。

列表(List)类型命令

列表是字符串元素的有序集合,支持双向操作。

Redis命令大全有哪些核心命令?-图2
(图片来源网络,侵删)
  • LPUSH key value [value ...]:将值插入列表头部。
  • RPUSH key value [value ...]:将值插入列表尾部。
  • LPOP key:移除并返回列表头部元素。
  • RPOP key:移除并返回列表尾部元素。
  • LRANGE key start stop:获取列表指定范围元素(0表示第一个,-1表示最后一个)。
  • LLEN key:返回列表长度。
  • LREM key count value:移除列表中前count个值为value的元素(count>0从头开始,<0从尾开始)。

集合(Set)类型命令

集合是无序且不重复的元素集合。

  • SADD key member [member ...]:添加成员到集合。
  • SMEMBERS key:返回集合所有成员。
  • SREM key member [member ...]:移除集合中指定成员。
  • SCARD key:返回集合成员数。
  • SISMEMBER key member:检查成员是否存在。
  • SINTER key [key ...]:返回多个集合的交集。
  • SUNION key [key ...]:返回多个集合的并集。

有序集合(ZSet)类型命令

有序集合是带分数的成员集合,成员按分数排序。

  • ZADD key [NX|XX] [CH] [INCR] score member [score member ...]:添加成员及分数(NX表示成员不存在时添加,XX表示存在时更新)。
  • ZRANGE key start stop [WITHSCORES]:返回指定排名范围的成员(按分数升序),WITHSCORES显示分数。
  • ZREVRANGE key start stop [WITHSCORES]:降序排列成员。
  • ZSCORE key member:返回成员分数。
  • ZINCRBY key increment member:成员分数增加指定值。
  • ZCARD key:返回集合成员数。
  • ZCOUNT key min max:返回分数在[min, max]之间的成员数。

数据库管理与持久化命令

  • SELECT index:切换数据库(0-15共16个库)。
  • FLUSHDB:清空当前数据库。
  • FLUSHALL:清空所有数据库。
  • SAVE:同步保存数据到磁盘(阻塞客户端)。
  • BGSAVE:异步保存数据(fork子进程执行)。
  • LASTSAVE:返回最后成功保存的时间戳。

高级功能命令

  • PUBLISH channel message:发布消息到频道(发布/订阅模式)。
  • SUBSCRIBE channel [channel ...]:订阅频道。
  • UNSUBSCRIBE [channel [channel ...]]:取消订阅频道。
  • EVAL script numkeys key [key ...] arg [arg ...]:执行Lua脚本。

相关问答FAQs

Q1: Redis如何批量删除匹配模式的键?
A1: 可结合KEYSDEL命令,但KEYS命令在键较多时可能阻塞服务,推荐使用SCAN命令遍历键并批量删除,

redis-cli --scan --pattern "temp:*" | xargs -L 1000 redis-cli DEL

该命令分批删除以temp:开头的键,减少阻塞风险。

Redis命令大全有哪些核心命令?-图3
(图片来源网络,侵删)

Q2: Redis的持久化机制RDB和AOF如何选择?
A2: RDB通过快照方式定期保存数据,恢复速度快但可能丢失最后一次快照后的数据;AOF以日志形式记录写操作,数据安全性高但文件较大且恢复较慢,生产环境通常采用RDB+AOF混合持久化(Redis 4.0+支持),结合两者优势:AOF重写时以RDB格式存储数据,后续操作以AOF日志追加,兼顾性能与数据安全。

分享:
扫描分享到社交APP
上一篇
下一篇