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

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

redis的命令大全
(图片来源网络,侵删)

键值操作相关命令

键值操作是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的命令大全
(图片来源网络,侵删)
  • 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的命令大全
(图片来源网络,侵删)

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

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

(0)
运维的头像运维
上一篇2025-10-01 14:20
下一篇 2025-10-01 14:25

相关推荐

  • Linux MySQL命令参数有哪些常用选项?

    Linux环境下MySQL命令参数的掌握是数据库管理和开发的基础,无论是日常运维还是数据操作,都需要熟练运用这些参数来高效完成任务,MySQL命令行工具(mysql)提供了丰富的参数选项,允许用户连接服务器、执行SQL脚本、配置输出格式等,以下将从连接参数、执行参数、输出控制、安全选项及其他常用参数五个维度,详……

    2025-11-17
    0
  • Redis服务器命令有哪些常用操作?

    Redis 是一个高性能的内存数据库,常用于缓存、消息队列、实时统计等场景,掌握 Redis 服务器命令是高效使用 Redis 的基础,以下从连接管理、键值操作、数据类型操作、服务器管理等方面详细介绍常用命令,连接管理是使用 Redis 的第一步,通过 redis-cli 命令可以连接到 Redis 服务器,r……

    2025-11-14
    0
  • MySQL命令行工具有哪些核心操作?

    MySQL命令行工具是数据库管理员和开发人员日常工作中不可或缺的强大工具,它提供了直接与MySQL服务器交互的方式,通过简单的命令即可完成数据库的创建、表的管理、数据的查询与修改等复杂操作,与图形化界面工具相比,命令行工具具有轻量化、高效、跨平台以及脚本化自动化等优势,尤其适用于服务器环境或需要批量处理任务的场……

    2025-11-13
    0
  • Android SQLite3命令如何使用?

    在Android开发中,SQLite3是一个轻量级的关系型数据库,广泛应用于本地数据存储,开发者可以通过命令行或代码直接操作SQLite3数据库,本文将详细介绍Android环境下SQLite3的常用命令及其操作方法,要使用SQLite3命令,需要通过Android设备的shell环境进入,开发者可以通过adb……

    2025-11-09
    0
  • Linux常用MySQL命令有哪些?

    Linux环境下,MySQL命令是数据库管理、操作的核心工具,涵盖从服务管理到数据查询、用户权限配置等全流程操作,以下从基础到进阶,详细梳理常用命令及使用场景,并结合表格归纳关键操作,MySQL服务管理在Linux中,MySQL服务通常通过systemctl或service命令管理,前提是已安装MySQL服务器……

    2025-11-09
    0

发表回复

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