Redis所有命令有哪些?

Redis(Remote Dictionary Server)是一个开源的、高性能的键值存储系统,广泛应用于缓存、消息队列、会话管理等场景,其命令丰富且功能强大,覆盖了数据操作、服务器管理、持久化等多个方面,以下将详细介绍Redis的主要命令分类及具体用法,并辅以表格说明,最后附上相关FAQs。

redis所有命令
(图片来源网络,侵删)

键值操作命令

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

  • SET:设置键值,如SET key value,可添加过期时间(EX秒或PX毫秒)。
  • GET:获取键值,如GET key,若键不存在返回nil
  • DEL:删除键,支持批量删除,如DEL key1 key2
  • EXISTS:检查键是否存在,返回1(存在)或0(不存在)。
  • EXPIRE:设置键的过期时间,如EXPIRE key 60(60秒后自动删除)。
  • TTL:查看键的剩余生存时间,返回-1表示永不过期,-2表示键不存在。
  • TYPE:返回键的数据类型,如stringhashlist等。
命令示例说明
SETSET name "Alice"设置字符串键值
GETGET name获取字符串键值
DELDEL name删除键
EXPIREEXPIRE name 10设置10秒后过期

字符串操作

字符串是Redis最简单的数据类型,支持二进制安全存储。

  • INCR:键值加1,如INCR count(若键不存在,初始化为0后加1)。
  • DECR:键值减1,如DECR count
  • INCRBY:指定增量,如INCRBY count 5(加5)。
  • APPEND:追加值,如APPEND name " Bob"(原值变为”Alice Bob”)。
  • SETRANGE:从指定位置覆盖字符串,如SETRANGE name 0 "Bob"(替换为”Bob”)。

哈希操作

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

  • HSET:设置字段值,如HSET user:1 name "Alice"
  • HGET:获取字段值,如HGET user:1 name
  • HGETALL:获取所有字段和值,如HGETALL user:1
  • HDEL:删除字段,如HDEL user:1 name
  • HEXISTS:检查字段是否存在,如HEXISTS user:1 name
命令示例说明
HSETHSET user:1 age 25设置哈希字段
HGETALLHGETALL user:1获取哈希所有字段和值
HINCRBYHINCRBY user:1 score 5字段值加5

列表操作

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

redis所有命令
(图片来源网络,侵删)
  • LPUSH:左侧插入元素,如LPUSH list "A"(列表变为["A"])。
  • RPUSH:右侧插入元素,如RPUSH list "B"(列表变为["A", "B"])。
  • LPOP:左侧弹出元素,如LPOP list(返回”A”,列表变为["B"])。
  • RPOP:右侧弹出元素,如RPOP list(返回”B”)。
  • LRANGE:获取范围元素,如LRANGE list 0 -1(返回整个列表)。

集合操作

集合(Set)是无序的唯一元素集合,支持交集、并集等操作。

  • SADD:添加元素,如SADD set "A"(元素不重复)。
  • SMEMBERS:获取所有元素,如SMEMBERS set
  • SREM:删除元素,如SREM set "A"
  • SINTER:求交集,如SINTER set1 set2
  • SUNION:求并集,如SUNION set1 set2

有序集合操作

有序集合(ZSet)是带有分数的唯一元素集合,元素按分数排序。

  • ZADD:添加元素及分数,如ZADD zset 100 "A"(分数100,元素”A”)。
  • ZRANGE:按索引范围获取元素,如ZRANGE zset 0 -1(默认升序)。
  • ZSCORE:获取元素分数,如ZSCORE zset "A"
  • ZINCRBY:增加元素分数,如ZINCRBY zset "A" 50(分数加50)。

其他高级命令

  • KEYS:匹配键名,如KEYS user:*(返回所有”user:”开头的键),生产环境慎用。
  • SCAN:增量遍历键,避免阻塞,如SCAN 0 MATCH user:* COUNT 10
  • MULTI/EXEC:事务操作,如MULTI开启事务,SET key1 value1EXEC执行事务。
  • PUBLISH/SUBSCRIBE:发布/订阅消息,如PUBLISH channel "Hello"SUBSCRIBE channel

服务器管理命令

  • INFO:获取服务器信息,如INFO memory(内存使用情况)。
  • CONFIG GET:获取配置参数,如CONFIG GET maxmemory
  • FLUSHDB:清空当前数据库,如FLUSHDB
  • SAVE:手动触发持久化,保存数据到RDB文件。

相关问答FAQs

Q1: Redis如何避免KEYS命令造成性能问题?
A1: KEYS命令会阻塞服务器,生产环境应避免使用,替代方案是使用SCAN命令,它通过游标增量遍历键,不会阻塞服务器。SCAN 0 MATCH user:* COUNT 100,其中0是游标初始值,COUNT建议设为100~1000以平衡性能与结果完整性。

Q2: Redis事务是否具有原子性?
A2: Redis事务通过MULTIEXEC实现,但与关系型数据库事务不同:

redis所有命令
(图片来源网络,侵删)
  • 原子性EXEC执行时,如果命令语法错误,会跳过该命令但继续执行后续命令;若运行时错误(如类型不匹配),命令仍会执行,可能导致部分成功。
  • 隔离性:事务执行期间,其他客户端的命令不会被阻塞,但不会读取到事务未提交的中间状态。
    若需强一致性,可通过WATCH监视键,若键被修改则事务回退。

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

(0)
运维的头像运维
上一篇2025-09-28 16:56
下一篇 2025-09-28 17:01

相关推荐

  • 传奇私服npc命令

    在传奇私服的运营与玩家互动中,NPC命令扮演着至关重要的角色,它们不仅是连接玩家与游戏世界的桥梁,更是实现游戏功能、引导玩家行为、丰富游戏体验的核心工具,NPC命令的设计与使用需要兼顾游戏平衡性、操作便捷性和玩家需求,其类型和功能可根据服务器类型(如复古版、超变版、复古微变版等)和运营策略进行灵活调整,以下从基……

    2025-11-20
    0
  • WOW GM命令有哪些?

    在《魔兽世界》中,游戏管理员(GM)命令是用于游戏管理、测试和特殊操作的指令系统,通常仅限官方人员或特定测试环境使用,这些命令功能强大,涵盖角色管理、物品生成、地图操控、事件触发等多个维度,普通玩家无法在正式服中直接使用,以下从核心功能、命令分类、使用注意事项及实际案例等方面,详细解析GM命令的相关知识,GM命……

    2025-11-20
    0
  • 点击量真能赚钱?怎么操作?

    通过点击量赚钱是一种常见的网络盈利模式,主要依靠吸引用户点击特定内容(如广告、链接、按钮等)来获得收益,这种模式的核心逻辑是“流量变现”,即通过内容或服务吸引用户,再将用户的注意力转化为商业价值,以下是详细的操作方法和注意事项,帮助理解如何通过点击量赚钱,了解点击量赚钱的基本原理点击量赚钱的基础是“广告展示”和……

    2025-11-18
    0
  • 传奇回收装备命令怎么用?

    在传奇游戏的世界里,装备回收是玩家提升角色实力的重要途径之一,通过回收多余的或低等级的装备,玩家可以获得经验值、金币或者特殊材料,用于强化核心装备或兑换稀有道具,不同的传奇版本(如超变、复古、散人版等)在装备回收的具体操作上可能存在差异,但核心逻辑和命令形式大同小异,以下将围绕“传奇回收装备命令”这一关键词,详……

    2025-11-18
    0
  • Aion模拟器命令有哪些?

    Aion模拟器命令是玩家在运行《永恒之塔》私服或测试环境时,通过控制台或特定接口输入的指令集,用于实现游戏内无法直接操作的功能,如角色管理、地图控制、参数调试等,这些命令通常由模拟器开发者或服务器管理员提供,具体语法和功能可能因模拟器版本(如AionEmu、Aion-Extreme等)不同而有所差异,以下从核心……

    2025-11-16
    0

发表回复

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