Redis命令那么多,怎么快速查到想要的?

Redis命令查询是开发和运维人员日常工作中不可或缺的技能,掌握Redis命令不仅能高效操作数据,还能优化系统性能,Redis作为高性能的内存数据库,支持丰富的数据结构,每种结构都有对应的命令集,本文将详细解析Redis常用命令的分类、语法及使用场景,帮助读者快速查询和应用。

redis命令查询
(图片来源网络,侵删)

键值操作命令

键值操作是Redis最基础的功能,主要用于管理键的生命周期和基本信息,常用命令包括:

  • SET:设置键值,语法为SET key value [EX seconds|PX milliseconds|EXAT timestamp|PXAT milliseconds-timestamp|KEEPTTL],例如SET user:1001 "Alice" EX 3600表示设置键user:1001的值为”Alice”,并设置3600秒过期。
  • GET:获取键值,语法为GET key,若键不存在则返回nil
  • DEL:删除键,语法为DEL key [key ...],支持批量删除,例如DEL key1 key2 key3
  • EXISTS:检查键是否存在,语法为EXISTS key,返回1(存在)或0(不存在)。
  • TTL:查看键的剩余生存时间,语法为TTL key,返回剩余秒数,若键不存在返回-2,若键永不过期返回-1。
  • KEYS模糊匹配键,语法为KEYS pattern,例如KEYS user:*匹配所有以”user:”开头的键,但生产环境慎用,可能阻塞服务器

字符串操作命令

字符串是Redis最简单的数据结构,常用于缓存、计数器等场景,常用命令包括:

  • INCR:将键的值加1,语法为INCR key,若键不存在则初始化为0后加1,例如INCR visit_count用于计数。
  • DECR:将键的值减1,语法为DECR key,与INCR逻辑相反。
  • INCRBY:按指定增量增加,语法为INCRBY key increment,例如INCRBY score 5score加5。
  • APPEND:追加值到字符串末尾,语法为APPEND key value,若键不存在则创建并赋值。
  • STRLEN:获取字符串长度,语法为STRLEN key,例如STRLEN message返回message的字符长度。

列表操作命令

列表是双向链表结构,支持头尾操作,常用于消息队列、任务列表等,常用命令包括:

  • LPUSH:从左侧插入元素,语法为LPUSH key value [value ...],例如LPUSH tasks "task1"将”task1″插入列表左侧。
  • RPUSH:从右侧插入元素,语法为RPUSH key value [value ...],与LPUSH方向相反。
  • LPOP:从左侧弹出元素,语法为LPOP key,返回并移除列表最左侧元素。
  • RPOP:从右侧弹出元素,语法为RPOP key,与LPOP方向相反。
  • LRANGE:获取列表片段,语法为LRANGE key start stop,例如LRANGE tasks 0 -1返回整个列表,0表示起始位置,-1表示结束位置。

哈希操作命令

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

redis命令查询
(图片来源网络,侵删)
  • HSET:设置哈希字段值,语法为HSET key field value [field value ...],例如HSET user:1001 name "Bob" age 25
  • HGET:获取哈希字段值,语法为HGET key field,例如HGET user:1001 name返回”Bob”。
  • HGETALL:获取哈希所有字段和值,语法为HGETALL key
  • HDEL:删除哈希字段,语法为HDEL key field [field ...],例如HDEL user:1001 age删除age字段。
  • HEXISTS:检查哈希字段是否存在,语法为HEXISTS key field,返回1(存在)或0(不存在)。

集合操作命令

集合是无序且不重复的元素集合,支持交集、并集等操作,常用命令包括:

  • SADD:向集合添加元素,语法为SADD key member [member ...],例如SADD tags "redis" "database"
  • SMEMBERS:获取集合所有元素,语法为SMEMBERS key
  • SREM:从集合移除元素,语法为SREM key member [member ...]
  • SINTER:计算多个集合的交集,语法为SINTER key [key ...],例如SINTER set1 set2返回两个集合的交集。
  • SUNION:计算多个集合的并集,语法为SUNION key [key ...]

有序集合操作命令

有序集合是带分数的集合,元素按分数排序,常用于排行榜,常用命令包括:

  • ZADD:添加有序集合元素,语法为ZADD key [NX|XX] [CH] [INCR] score member [score member ...],例如ZADD leaderboard 100 "player1"添加”player1″分数为100。
  • ZRANGE:获取指定排名区间的元素,语法为ZRANGE key start stop [WITHSCORES],例如ZRANGE leaderboard 0 4 WITHSCORES返回前5名及分数。
  • ZSCORE:获取元素分数,语法为ZSCORE key member,例如ZSCORE leaderboard "player1"返回”player1″的分数。
  • ZREM:移除元素,语法为ZREM key member [member ...]

其他常用命令

  • EXPIRE:设置键的过期时间,语法为EXPIRE key seconds,例如EXPIRE temp_data 60设置60秒后过期。
  • TYPE:查看键的数据类型,语法为TYPE key,返回stringhashlist等。
  • SCAN:增量遍历键,语法为SCAN cursor [MATCH pattern] [COUNT count],避免KEYS命令阻塞。

表格:Redis常用命令速查

命令分类命令语法功能描述
键值操作SETSET key value [EX seconds]设置键值及过期时间
字符串INCRINCR key键值加1
列表LPUSHLPUSH key value左侧插入元素
哈希HSETHSET key field value设置哈希字段值
集合SADDSADD key member添加集合元素
有序集合ZADDZADD key score member添加有序集合元素
通用TTLTTL key查看剩余过期时间

相关问答FAQs

Q1: Redis中如何批量删除匹配的键?
A1: 可以结合KEYSDEL命令,但KEYS命令在键较多时可能阻塞服务器,生产环境推荐使用SCAN命令遍历+DEL删除,SCAN 0 MATCH user:* COUNT 100,然后对返回的键执行DEL,Redis 4.0+支持UNLINK命令,异步删除键,性能更优。

Q2: 如何查看Redis中某个键的数据类型?
A2: 使用TYPE命令,语法为TYPE key,例如TYPE user:1001,若键是哈希则返回hash,若是字符串则返回string,若键不存在,返回none,通过TYPE可以快速确认键的数据结构,避免误用命令导致错误。

redis命令查询
(图片来源网络,侵删)

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/376989.html<

(0)
运维的头像运维
上一篇2025-10-02 00:11
下一篇 2025-10-02 00:16

相关推荐

  • KVM常用命令有哪些?快速掌握必备操作?

    KVM(Kernel-based Virtual Machine)是一种开源的虚拟化技术,它将Linux内核转化为一个Type-1(裸金属) hypervisor,允许用户在单个物理服务器上运行多个虚拟机(VM),KVM的优势在于其高性能、与Linux内核的深度集成以及丰富的管理工具,以下是KVM常用命令的详细……

    2025-11-10
    0
  • Linux命令联想如何高效记忆与使用?

    Linux命令联想功能是提高命令行操作效率的重要工具,它能够根据用户输入的部分命令自动匹配并提示完整的命令选项,减少记忆负担和输入错误,本文将详细介绍Linux命令联想的实现原理、常用工具配置方法及实际应用场景,Linux命令联想主要基于bash/zsh等shell的补全机制实现,bash默认支持基本的命令补全……

    2025-10-29
    0
  • CAD命令代码大全有哪些?

    CAD命令代码大全涵盖了从基础绘图到高级编辑的各类功能,这些代码通过键盘输入或工具栏调用,极大提升了设计效率,以下将分类详细介绍常用命令及其应用场景,辅以表格归纳核心命令,并附相关FAQs解答,基础绘图命令基础绘图命令是CAD操作的起点,用于创建基本几何图形,LINE(L):绘制直线,需指定起点和终点,支持连续……

    2025-09-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注