20250708-02-redis通用key操作命令_笔记

一、Redis

1. 通用键值操作

1)键的查看操作



  • keys命令

    

    • 基本功能:查询当前数据库中的所有key,支持精确查询和模糊查询
    • 与memcached区别:memcached无法查询所有key,这是Redis特有的功能
    • 查询示例:
      • keys * 返回所有key(如"age"和"site")
      • keys site 精确查询指定key
      • keys s* 查询以s开头的key
  • 通配符

    
    • 三种通配符:
      • *:匹配任意多个字符(如keys o*返回"one")
      • ?:匹配单个字符(如keys si?e匹配"site")
      • []:匹配括号内任意一个字符(如keys on[eaw]匹配"one")
    • 注意事项:
      • 通配符语法类似正则表达式但不完全相同
      • 错误命令key *会报错,正确命令是keys *
      • 中括号匹配更精确,适合需要限定特定字符的场景
  • 随机返回键

    
    • 功能:randomkey命令随机返回数据库中的一个key
    • 应用场景:适用于抽奖等需要随机选取的场景
    • 特点:返回结果无规律,可能连续返回相同key(如连续返回"site"或"age")
  • 判断键的类型

     
    • 命令格式:type key(如type age返回"string")
    • 返回值类型:包括string、link、set、order set、hash五种
    • 特殊说明:
      • Redis没有专门的int类型,数字也以字符串形式存储
      • 所有数值都是64位有符号整数形式存储
  • 判断键是否存在

    

    • 命令格式:exists key(如exists age返回1,exists title返回0)
    • 返回值:存在返回1,不存在返回0
    • 组合应用:常与keys命令配合使用,先查询再判断具体key是否存在
2)键的生命周期操作





  • 核心概念:Redis中key默认永久有效,但可通过命令设置有效期实现缓存功能
  • 版本差异:Redis 2.8开始对不存在的key返回-2(之前版本返回-1),便于区分不存在/永久有效的key
  • 查询键的生命周期

    

    • TTL命令:
      • 语法:ttl key
      • 返回值:剩余秒数(正数)/特殊状态(负数)
      • 状态码:
        • -1:key存在且永久有效(或Redis 2.8前不存在的key)
        • -2:key不存在(仅Redis 2.8+)
      • 注意:已过期的key会被自动删除,查询结果等同于不存在的key
    • PTTL命令:
      • 语法:pttl key
      • 区别:以毫秒为单位返回剩余生命周期
      • 示例:pttl search返回5207表示剩余5.207秒
  • 设置键的生命周期

    • EXPIRE命令:
      • 语法:expire key 秒数
      • 特性:设置成功后key自动过期删除
      • 示例:expire search 10设置10秒有效期
    • PEXPIRE命令:
      • 语法:pexpire key 毫秒数
      • 应用场景:需要更精确的时间控制时使用
      • 示例:pexpire search 9000设置9秒有效期
    • 复合操作:
      • SET+EXPIRE:set key value ex 10(原子性操作)
      • 注意:避免同时指定ex和px参数,以后出现的参数为准
  • 将键设置为永久有效
    
    • PERSIST命令:
      • 语法:persist key
      • 效果:移除key的过期时间,使其永久有效
      • 返回值:1(成功)/0(key不存在或已是永久有效)
      • 示例流程:
        • set site www.zixue.it
        • expire site 10
        • persist site → 使site永久有效
    • 典型应用:
      • 将临时缓存转为持久化数据
      • 取消已设置的过期时间
二、知识小结

知识点

核心内容

关键命令/操作

注意事项

Redis数据结构类型

字符串(string)、哈希(hash)、链表(list)、集合(set)、有序集合(sorted set)

TYPE key

Redis没有专门的int类型,数值都以字符串形式存储

通用键值操作

查询所有键、随机返回键、判断键存在、删除键、重命名键、移动键

KEYS pattern

RANDOMKEY

EXISTS key

DEL key

RENAME key newkey

MOVE key db

KEYS *会返回所有键,生产环境慎用

RENAME会覆盖已存在的键

键名模式匹配

支持通配符查询键名

KEYS s* (星号匹配)

KEYS s?t (问号匹配)

KEYS s[ae]t (字符集匹配)

通配符规则类似正则表达式:

*=任意多个字符

?=单个字符

[]=匹配括号内任一字符

数据库管理

Redis默认16个数据库(0-15)

SELECT index (切换数据库)

DBSIZE (查看键数量)

不同数据库完全隔离,默认使用db0

键生命周期控制

设置/查询键的过期时间

EXPIRE key seconds

TTL key

PERSIST key (移除过期时间)

PEXPIRE/PTTL (毫秒单位)

TTL返回-1表示永久有效,-2表示键不存在

过期键会被自动删除

字符串类型操作

基本键值存储操作

SET key value

GET key

MSET/MGET (批量操作)

所有命令演示都基于字符串类型开始

重点实践建议

命令学习方法论

- 理解命令功能

- 掌握参数格式

- 实际动手练习

强调不能仅靠听课,必须实际操作每个命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值