菜鸟科技网

Redis命令有哪些常用操作?

Redis 作为一款高性能的内存数据库,其命令丰富且功能强大,涵盖了数据操作、管理、配置等多个方面,以下是 Redis 常用命令的详细分类与说明,帮助用户快速掌握核心功能。

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

键(Key)相关命令

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

  • SET key value:设置键值对,若键已存在则覆盖。
  • GET key:获取键对应的值,若键不存在则返回 nil。
  • DEL key [key ...]:删除一个或多个键,返回删除的键数量。
  • EXISTS key:检查键是否存在,存在返回 1,否则返回 0。
  • EXPIRE key seconds:设置键的过期时间(秒),到期后键自动删除。
  • TTL key:返回键的剩余过期时间(秒),-1 表示永不过期,-2 表示键不存在。
  • KEYS pattern:匹配符合模式的键(如 KEYS * 匹配所有键),生产环境慎用(阻塞服务器)。
  • SCAN cursor [MATCH pattern] [COUNT count]:增量式遍历键,避免阻塞。

字符串(String)命令

字符串是 Redis 最基础的数据结构,命令包括:

  • INCR key:键值递增 1,若键不存在则初始化为 1。
  • DECR key:键值递减 1,若键不存在则初始化为 -1。
  • INCRBY key increment:按指定值递增。
  • APPEND key value:在字符串末尾追加值,返回新字符串长度。
  • STRLEN key:返回字符串长度。

哈希(Hash)命令

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

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

列表(List)命令

列表是字符串集合,按插入顺序排序:

Redis命令有哪些常用操作?-图2
(图片来源网络,侵删)
  • LPUSH key value [value ...]:在左侧插入一个或多个值,返回列表长度。
  • RPUSH key value [value ...]:在右侧插入值。
  • LPOP key:移除并返回左侧第一个元素。
  • RPOP key:移除并返回右侧第一个元素。
  • LRANGE key start stop:获取列表指定范围元素(0 表示第一个,-1 表示最后一个)。
  • LLEN key:返回列表长度。

集合(Set)命令

集合是无序且不重复的字符串集合:

  • SADD key member [member ...]:添加一个或多个成员,返回新增成员数。
  • SMEMBERS key:返回所有成员。
  • SREM key member [member ...]:删除一个或多个成员,返回删除成功数。
  • SCARD key:返回集合元素个数。
  • SISMEMBER key member:检查成员是否存在,存在返回 1,否则 0。
  • SDIFF key [key ...]:返回多个集合的差集。
  • SUNION key [key ...]:返回多个集合的并集。

有序集合(Sorted Set)命令

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

  • ZADD key score member [score member ...]:添加成员及分数,返回新增成员数。
  • ZRANGE key start stop [WITHSCORES]:返回指定范围成员(按分数升序),WITHSCORES 可显示分数。
  • ZREVRANGE key start stop [WITHSCORES]:按分数降序排列。
  • ZSCORE key member:返回成员分数。
  • ZINCRBY key increment member:成员分数按指定值递增。
  • ZCARD key:返回成员数量。

其他常用命令

  • FLUSHDB:清空当前数据库。
  • FLUSHALL:清空所有数据库。
  • SAVE:同步保存数据到磁盘(阻塞)。
  • BGSAVE:异步保存数据到磁盘。
  • INFO [section]:返回服务器信息(如内存、客户端等)。

以下是部分命令的快速参考表格:

命令分类 命令示例 功能说明
键操作 SET key value 设置键值对
字符串 INCR key 键值递增 1
哈希 HGETALL key 获取哈希表所有字段和值
列表 LRANGE key 0 -1 获取列表所有元素
集合 SADD key member 添加成员到集合
有序集合 ZRANGE key 0 10 获取分数最低的前 11 个成员

相关问答 FAQs

Q1:Redis 如何批量删除符合某个模式的键?
A1:可以使用 KEYS 命令匹配键,再结合 DEL 批量删除,DEL $(KEYS pattern),但 KEYS 会阻塞服务器,生产环境推荐使用 SCAN 命令增量遍历,例如通过脚本循环调用 SCAN 并删除匹配键。

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

Q2:Redis 的过期键是如何被清理的?
A2:Redis 通过两种方式清理过期键:1)惰性删除:当访问键时检查是否过期,若过期则删除;2)定期删除:后台线程定期随机抽样部分键,删除其中过期的键,这两种方式结合,既避免了内存浪费,又减少了阻塞。

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