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

Redis之通用命令与String类型存储

Redis之通用命令与String类型存储

    • 一、Redis通用命令
      • 1. 键的基本操作
      • 2. 键的过期操作
      • 3. 键的其他操作
    • 二、String类型存储
      • 1. String类型的特点
      • 2. String类型的常用命令
      • 3. String类型的应用场景

Redis作为一款高性能的键值对数据库,凭借其丰富的数据结构和出色的性能,在缓存、计数器、分布式锁等场景中被广泛应用,本文重点讲解Redis的通用命令以及最基础常用的String类型存储。

一、Redis通用命令

通用命令是指适用于Redis中所有数据类型的命令,主要用于对键(key)进行操作和管理。

1. 键的基本操作

  • SET key value:设置指定键的值。如果键已存在,会覆盖原有值。

    127.0.0.1:6379> SET name "zhangsan"
    OK
    
  • GET key:获取指定键的值。如果键不存在,返回nil。

    127.0.0.1:6379> GET name
    "zhangsan"
    
  • DEL key [key …]:删除指定的一个或多个键。返回被删除键的数量。

    127.0.0.1:6379> DEL name
    (integer) 1
    
  • EXISTS key:检查键是否存在。存在返回1,不存在返回0。

    127.0.0.1:6379> EXISTS name
    (integer) 0
    

2. 键的过期操作

  • EXPIRE key seconds:为键设置过期时间,单位为秒。过期后键会被自动删除。

    127.0.0.1:6379> SET age 20
    OK
    127.0.0.1:6379> EXPIRE age 60
    (integer) 1
    
  • TTL key:查看键的剩余过期时间,单位为秒。返回-1表示键永不过期,-2表示键已过期或不存在。

    127.0.0.1:6379> TTL age
    (integer) 50
    
  • PERSIST key:移除键的过期时间,使键永不过期。

    127.0.0.1:6379> PERSIST age
    (integer) 1
    

3. 键的其他操作

  • KEYS pattern:查找所有符合给定模式(pattern)的键。*匹配任意多个字符,?匹配单个字符。

    127.0.0.1:6379> KEYS *
    1) "age"
    2) "name"
    
  • TYPE key:返回键所存储值的数据类型。

    127.0.0.1:6379> TYPE name
    string
    
  • RENAME key newkey:将键重命名为newkey。如果newkey已存在,会被覆盖。

    127.0.0.1:6379> RENAME name username
    OK
    

二、String类型存储

String是Redis中最基本的数据类型,它可以存储字符串、整数和浮点数,最大存储容量为512MB。

1. String类型的特点

  • 二进制安全:可以存储任何形式的字符串,包括图片、视频等二进制数据。
  • 灵活的存储格式:既可以存储普通字符串,也可以存储数字,便于进行自增、自减等操作。
  • 单值存储:每个键对应一个值。

2. String类型的常用命令

  • SET key value [EX seconds] [PX milliseconds] [NX|XX]:设置键的值,可同时指定过期时间(EX为秒,PX为毫秒)。NX表示仅当键不存在时才设置,XX表示仅当键存在时才设置。

    127.0.0.1:6379> SET score 100 EX 120 NX
    OK
    
  • GET key:获取键的值,前面已介绍。

  • APPEND key value:将值追加到已有键的值后面。如果键不存在,相当于执行SET key value。

    127.0.0.1:6379> SET msg "hello"
    OK
    127.0.0.1:6379> APPEND msg " world"
    (integer) 11
    127.0.0.1:6379> GET msg
    "hello world"
    
  • STRLEN key:返回键的值的长度。

    127.0.0.1:6379> STRLEN msg
    (integer) 11
    
  • INCR key:将键的整数值加1。如果键不存在,先将其值设为0再加1;如果值不是整数,返回错误。

    127.0.0.1:6379> INCR count
    (integer) 1
    127.0.0.1:6379> INCR count
    (integer) 2
    
  • DECR key:将键的整数值减1,用法与INCR类似。

    127.0.0.1:6379> DECR count
    (integer) 1
    
  • INCRBY key increment:将键的整数值加上指定的增量。

    127.0.0.1:6379> INCRBY count 5
    (integer) 6
    
  • DECRBY key decrement:将键的整数值减去指定的减量。

    127.0.0.1:6379> DECRBY count 3
    (integer) 3
    
  • INCRBYFLOAT key increment:将键的浮点数值加上指定的增量。

    127.0.0.1:6379> SET price 9.9
    OK
    127.0.0.1:6379> INCRBYFLOAT price 0.1
    "10"
    
  • GETSET key value:设置键的新值,并返回键的旧值。如果键不存在,返回nil。

    127.0.0.1:6379> GETSET name "lisi"
    "zhangsan"
    127.0.0.1:6379> GET name
    "lisi"
    

3. String类型的应用场景

  • 缓存:存储热点数据,如用户信息、商品详情等,减轻数据库压力。例如,将用户ID作为键,用户信息的JSON字符串作为值存储。
  • 计数器:利用INCR、DECR等命令实现网站访问量、商品销量等计数功能。
  • 分布式锁:通过SET命令的NX参数,结合过期时间,实现简单的分布式锁。
  • 限流器:记录单位时间内的请求次数,通过INCR命令计数,超过阈值则限制访问。
  • 存储Session:在分布式系统中,将用户的Session信息存储在Redis中,实现Session共享。

总结
通用命令主要用于对键进行管理,包括创建、查询、删除、设置过期时间等操作;String类型作为Redis最基础的数据类型,具有灵活的存储格式和丰富的操作命令,在多种场景中广泛应用。

若这篇内容帮到你,动动手指支持下!关注不迷路,干货持续输出!
ヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノヾ(´∀ ˋ)ノ

http://www.xdnf.cn/news/1243477.html

相关文章:

  • javacc实现简单SQL解析器
  • 【云馨AI-大模型】2025年8月第一周AI浪潮席卷全球:创新与政策双轮驱动
  • VPS云服务器Linux系统备份策略与灾难恢复方案设计
  • SQL基础语法
  • Qt按键响应
  • 倒排索引:Elasticsearch 搜索背后的底层原理
  • 【C语言】自定义类型:联合体与枚举
  • SpringMVC在前后端分离架构中的执行流程详解
  • 句子表征-文本匹配--representation-based/interactive-based
  • MS-DOS 常用指令集
  • 机器学习——学习路线
  • 2.Java和C++有什么区别
  • Demo-LangGraph构建Agent
  • 【Spring】SpringBoot 自动配置,@ComponentScan、@Import、ImportSelector接口
  • LeetCode 132:分割回文串 II
  • Linux开发利器:探秘开源,构建高效——基础开发工具指南(下)【make/Makefile】
  • 水面垃圾清扫船cad【6张】三维图+设计说明书
  • Jmeter进行性能并发测试
  • 【Java】使用FreeMarker来实现Word自定义导出
  • C++高频知识点(十四)
  • 京东商品详情API技术文档框架及Python实现方案
  • sqli-labs:Less-27a关卡详细解析
  • 《Python 实用项目与工具制作指南》· 2.3 导入
  • Bean的生命周期和循环依赖问题的解决
  • curl发送文件bodyParser无法获取请求体的问题分析
  • 嵌入式硬件中三极管推挽电路控制与实现
  • PPT自动化 python-pptx - 11 : 备注页 (Notes Slides)
  • (论文速读)Text-IF:基于语义文本引导的退化感知交互式图像融合方法
  • sqli-labs-master/Less-31~Less-40
  • openeuler离线安装软件