当前位置: 首页 > news >正文

Redis命令参考手册

Redis命令参考手册

Key(键)操作

DEL

  • 格式DEL key [key ...]
  • 描述:删除指定的一个或多个key,不存在的key会被忽略
  • 版本:>= 1.0.0
  • 时间复杂度
    • O(N)(N为被删除key的数量)
    • 删除字符串key:O(1)
    • 删除列表/集合/有序集合/哈希:O(M)(M为元素数量)
  • 返回值:被删除key的数量
  • 示例
    redis> DEL name
    (integer) 1
    

KEYS

  • 格式KEYS pattern
  • 描述:查找所有匹配给定模式的key
  • 警告:大数据集可能影响性能,建议用集合代替
  • 版本:>= 1.0.0
  • 时间复杂度:O(N)(N为数据库key数量)
  • 示例
    redis> KEYS *o*
    1) "four"
    2) "two"
    

EXPIRE

  • 格式EXPIRE key seconds
  • 描述:设置key的生存时间(秒),过期自动删除
  • 版本:>= 1.0.0
  • 时间复杂度:O(1)
  • 返回值
    • 设置成功:1
    • key不存在/设置失败:0
  • 示例
    redis> EXPIRE cache_page 30
    (integer) 1
    

TTL

  • 格式TTL key
  • 描述:返回key剩余生存时间(秒)
  • 返回值
    • key不存在:-2
    • key存在但未设置过期:-1
    • 其他:剩余秒数
  • 示例
    redis> TTL key
    (integer) 10084
    

String(字符串)操作

SET

  • 格式SET key value
  • 描述:设置字符串值,覆盖旧值
  • 版本:>= 1.0.0
  • 示例
    redis> SET apple www.apple.com
    OK
    

GET

  • 格式GET key
  • 描述:获取字符串值
  • 返回值
    • key不存在:nil
    • 非字符串类型:报错
  • 示例
    redis> GET apple
    "www.apple.com"
    

INCR

  • 格式INCR key
  • 描述:将key中存储的数字值+1
  • 特性
    • key不存在时初始化为0再操作
    • 值限制在64位有符号整数
  • 应用场景:计数器
  • 示例
    redis> INCR page_view
    (integer) 21
    

APPEND

  • 格式APPEND key value
  • 描述:字符串追加操作
  • 版本:>= 2.0.0
  • 应用场景:时间序列数据存储
  • 示例
    redis> APPEND myphone "-1110"
    (integer) 12
    

Hash(哈希表)操作

HSET

  • 格式HSET key field value
  • 描述:设置哈希表字段值
  • 版本:>= 2.0.0
  • 返回值
    • 新字段:1
    • 覆盖旧值:0
  • 示例
    redis> HSET website google www.google.com
    (integer) 1
    

HGETALL

  • 格式HGETALL key
  • 描述:获取所有字段和值
  • 返回值:字段值交替排列的列表
  • 示例
    redis> HGETALL people
    1) "jack"
    2) "Jack Sparrow"
    3) "gump"
    4) "Forrest Gump"
    

List(列表)操作

LPUSH

  • 格式LPUSH key value [value ...]
  • 描述:列表头部插入元素
  • 版本:>= 1.0.0
  • 示例
    redis> LPUSH languages python
    (integer) 1
    

BLPOP

  • 格式BLPOP key [key ...] timeout
  • 描述:阻塞式弹出列表首个元素
  • 特性
    • timeout=0表示无限阻塞
    • 原子性操作
  • 应用场景:消息队列
  • 示例
    redis> BLPOP tasklist 30
    1) "tasklist"
    2) "process_data"
    

事务操作

MULTI

  • 描述:标记事务开始
  • 特性:后续命令进入队列但不执行

EXEC

  • 描述:执行事务块内所有命令
  • 原子性:事务执行期间不会被其他命令打断

WATCH

  • 格式WATCH key [key ...]
  • 描述:监视key变化,若被修改则中断事务
  • 应用场景:乐观锁实现

Lua脚本

EVAL

  • 格式EVAL script numkeys key [key ...] arg [arg ...]
  • 描述:执行Lua脚本
  • 特性
    • 原子性执行
    • 脚本最大执行时间默认5秒
    • 禁止创建全局变量
  • 示例
    redis> EVAL "return redis.call('GET', KEYS[1])" 1 mykey
    "myvalue"
    

服务器管理

INFO

  • 格式INFO [section]
  • 描述:获取服务器统计信息
  • 可选模块
    • server:服务器信息
    • memory:内存统计
    • persistence:持久化信息
    • stats:通用统计
  • 示例
    redis> INFO memory
    # Memory
    used_memory:1038272
    used_memory_human:1013.55K
    

CONFIG SET

  • 格式CONFIG SET parameter value
  • 描述:运行时修改配置
  • 示例
    redis> CONFIG SET slowlog-log-slower-than 1000
    OK
    

重要提示

  1. 时间复杂度说明:
    • O(1):恒定时间
    • O(N):线性时间(N为元素数量)
    • O(log N):对数时间
  2. 版本标识表示该命令支持的最低Redis版本

## 核心特性总结| 特性 | 说明 | 应用场景 |
|------|------|----------|
| **原子性** | 所有命令原子执行 | 计数器、分布式锁 |
| **持久化** | RDB快照/AOF日志 | 数据持久存储 |
| **发布订阅** | PUB/SUB消息系统 | 实时消息通知 |
| **Lua脚本** | 原子执行复杂逻辑 | 事务操作、复杂计算 |> 完整命令参考请访问:https://redis.io/commands
http://www.lryc.cn/news/585743.html

相关文章:

  • (C++)set集合相关知识(STL标准库)(C++教程)(set集合基础教程)
  • 供应链管理-计划:产能策略
  • 匿名函数作递归函数引用
  • 声明式 vs 编程式:Spring事务管理全对比
  • Prometheus+Grafana部署及企业微信邮件/群消息告警通知配置
  • linux系统-----Redis数据库基础
  • 迭代器(c++)、智能指针
  • LDO选型
  • Rust基础-part2-变量和可变类型
  • LVS-NAT模式配置
  • 期望和方差的计算
  • 深度学习×第8卷:优化器与训练流程进阶——她开始跑起来,学着一次次修正自己
  • 深度体验飞算JavaAI:一场Java开发效率的革命
  • 百度2026届校招开启,大规模发力AI的百度未来何在?
  • Telnet远程连接实验(Cisco)
  • Redis事务失败的处理机制与处理方案
  • 日历插件-FullCalendar的详细使用
  • C++:非类型模板参数,模板特化以及模板的分离编译
  • 【整数大求余草稿】2022-3-7
  • 进制转换原理与实现详解
  • Qt中QGraphicsView类应用解析:构建高效2D图形界面的核心技术
  • vue table 自定义处理 key 作为 表头
  • AUTOSAR进阶图解==>AUTOSAR_SWS_IOHardwareAbstraction
  • [精选]如何解决pip安装报错ModuleNotFoundError: No module named ‘subprocess’问题
  • Matlab裁剪降水数据:1km掩膜制作实战
  • C++STL-list
  • 这个方法的目的是检查一个给定的项目ID(projectId)是否在当前数据库中被使用(搜索全库)
  • 四、神经网络——正则化方法
  • VLM-R1 + GRPO 算法完整复现全过程日志
  • Linux修炼:权限