Redis控制台命令有哪些常用操作?

Redis控制台命令是管理与操作Redis数据库的核心工具,通过命令行界面(CLI)可以直接与Redis服务器交互,实现数据存取、配置管理、性能监控等功能,Redis命令遵循特定的语法规则,通常以命令名开头,后跟参数,例如SET key value用于设置键值对,以下从基础操作、数据类型操作、高级功能及管理维护四个维度,详细解析常用Redis控制台命令。

redis控制台命令
(图片来源网络,侵删)

基础操作命令

基础操作是Redis日常使用中最频繁的命令,主要包括键的增删查、服务器信息查询等。

  1. 键操作

    • SET key value [EX seconds] [PX milliseconds] [NX|XX]:设置键值对,支持过期时间(EX秒/PX毫秒)和条件(NX键不存在时设置/XX键存在时设置)。
    • GET key:获取键对应的值,若键不存在返回nil
    • DEL key [key ...]:删除一个或多个键,返回删除的键数量。
    • EXISTS key:检查键是否存在,存在返回1,否则返回0。
    • TTL key:查看键的剩余生存时间(秒),返回-1表示永不过期,-2表示键不存在。
    • EXPIRE key seconds:设置键的过期时间(秒),成功返回1,失败返回0。
  2. 服务器信息

    • INFO [section]:返回服务器信息,section可选如servermemoryclients等,不指定则返回全部信息。
    • PING:测试服务器连接,返回PONG表示正常。
    • ECHO message:返回输入的message,用于测试或调试。

数据类型操作命令

Redis支持5种基本数据类型,每种类型有专属操作命令。

redis控制台命令
(图片来源网络,侵删)
数据类型常用命令功能说明
StringAPPEND key valueSTRLEN keyINCR keyDECR key追加值、获取长度、递增/递减(数值类型)
ListLPUSH key value [value ...]RPUSH key valueLRANGE key start stop左侧/右侧推入元素,获取范围内元素(start/stop为负数表示从末尾计数)
HashHSET key field valueHGET key fieldHGETALL key设置/获取哈希表字段,获取所有字段和值
SetSADD key member [member ...]SMEMBERS keySINTER key1 key2添加成员、获取所有成员、求多个集合的交集
ZSetZADD key score member [score member ...]ZRANGE key start stop [WITHSCORES]添加有序集合成员(带分数),按分数范围排序成员,WITHSCORES显示分数

示例

  • 操作String:SET name "Alice"设置字符串,GET name获取值,INCR visits将数值加1。
  • 操作List:LPUSH tasks "task1"将任务加入列表左侧,LRANGE tasks 0 -1获取所有任务。
  • 操作Hash:HSET user:1 name "Bob" age 25设置用户信息,HGET user:1 age获取年龄。

高级功能命令

Redis的高级功能包括事务、持久化、发布订阅等,适用于复杂场景。

  1. 事务

    • MULTI:开启事务,后续命令进入队列,不会立即执行。
    • EXEC:执行事务队列中的所有命令,若命令语法错误则全部不执行;若运行时错误,已执行的命令不会回滚。
    • DISCARD:取消事务,清空队列。
  2. 持久化

    redis控制台命令
    (图片来源网络,侵删)
    • SAVE:同步保存数据到RDB文件,阻塞服务器。
    • BGSAVE:异步保存数据,适合生产环境。
    • LASTSAVE:返回最后一次成功保存的时间戳。
  3. 发布订阅

    • PUBLISH channel message:向指定频道发送消息。
    • SUBSCRIBE channel [channel ...]:订阅一个或多个频道,接收消息后阻塞客户端。

管理维护命令

管理命令用于监控服务器状态、调整配置、清理数据等。

  • CONFIG GET parameter:获取配置参数,如CONFIG GET maxmemory查看最大内存限制。
  • CONFIG SET parameter value:动态修改配置,如CONFIG SET maxmemory-policy allkeys-lru设置内存淘汰策略。
  • FLUSHDB:清空当前数据库,FLUSHALL清空所有数据库。
  • CLIENT LIST:列出所有客户端连接信息,包括IP、端口、命令统计等。
  • SLOWLOG [get/len/reset]:管理慢查询日志,如SLOWLOG get 10获取最近10条慢查询。

相关问答FAQs

Q1: Redis中如何批量删除符合某个模式的键?
A: 使用KEYS命令匹配键模式(如KEYS user:*),但KEYS会阻塞服务器,生产环境建议用SCAN命令分批遍历。

SCAN 0 MATCH user:* COUNT 100  # 从游标0开始,每次返回100个匹配键

结合DEL命令删除:DEL $(redis-cli --scan --pattern "user:*")(Linux环境下)。

Q2: Redis事务能否保证原子性?什么情况下会失败?
A: Redis事务能保证命令的原子性执行,但仅限于语法错误(如命令不存在)时,整个事务会回滚;若命令运行时错误(如对字符串执行INCR),已执行的命令不会回滚,后续命令仍会执行。

MULTI
SET num "10"
INCR num  # 正常执行
INCR name # 运行时错误(name非数值)
EXEC      # 返回结果:[OK, 11, error]  # name的INCR失败,但num已递增

需确保事务中命令的运行时逻辑正确,或通过Lua脚本实现更严格的原子操作。

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

(0)
运维的头像运维
上一篇2025-10-24 20:58
下一篇 2025-10-24 21:04

相关推荐

  • CSGO如何显示FPS?命令是什么?

    在《反恐精英:全球攻势》(CS:GO)这款游戏中,帧率(FPS)是衡量游戏流畅度的重要指标,它直接影响玩家的操作体验、瞄准精度和反应速度,为了实时监控帧率,玩家需要通过特定的命令来开启FPS显示功能,本文将详细介绍CS:GO中显示FPS的各种命令、设置方法及其相关技巧,帮助玩家优化游戏体验,最基础也是最常用的显……

    2025-11-19
    0
  • 数据库维护工程师需具备哪些核心技能?

    数据库维护工程师是企业数据管理体系中的核心角色,负责确保数据库系统的稳定性、安全性及高效运行,随着企业数字化转型加速,该岗位需求持续增长,以下从岗位职责、任职要求、薪资福利及职业发展等方面详细介绍数据库维护工程师的招聘信息,岗位职责数据库维护工程师需全面保障数据库从部署到运维的全生命周期管理,具体职责包括:日常……

    2025-11-16
    0
  • Windows CPU使用率命令有哪些?

    在Windows操作系统中,CPU使用率是衡量计算机处理器工作负载的重要指标,它直接关系到系统的运行效率和响应速度,当CPU使用率持续过高时,可能会导致系统卡顿、程序无响应甚至死机等问题,掌握通过命令行工具监控和分析CPU使用率的方法,对于系统管理员和高级用户来说至关重要,本文将详细介绍如何使用Windows命……

    2025-11-08
    0
  • 测试网络命令有哪些?

    在区块链开发或测试环境中,启动和运行测试网络通常需要一系列命令,这些命令因区块链平台的不同而有所差异,以以太坊为例,常用的测试网络命令包括使用Geth或OpenEthereum等客户端工具,通过Geth启动一个本地开发网络的命令可以是geth –dev –http –http.addr “0.0.0.0……

    2025-11-05
    0
  • 圈子记账招聘,什么岗位要求?

    在当前的职场环境中,圈子记账招聘逐渐成为连接企业与求职者的重要桥梁,尤其对于注重团队协作与企业文化契合度的企业而言,通过精准的招聘策略吸引志同道合的人才,不仅能提升招聘效率,更能为团队注入长期发展的动力,圈子记账作为一种基于共同兴趣、目标或价值观的群体性财务协作模式,其招聘过程需要兼顾专业技能与“圈子”文化的适……

    2025-10-31
    0

发表回复

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