当前位置: 首页 > 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.dtcms.com/a/314624.html

相关文章:

  • SHELL自动化脚本编程2
  • 如何使用EF框架操作Sqlite
  • K 近邻算法(KNN)完整解析:原理 + 数学公式 + 实战
  • 在Windows 11+I7+32GB内存+RTX 3060上部署Stable Diffusion 3.5 Medium详细步骤
  • Django + Vue 项目部署(1panel + openresty)
  • 制造业引入设备管理系统,实现智能资产运维与效率飞跃
  • Node.js(四)之数据库与身份认证
  • Nestjs框架: Node.js 多环境配置策略与 dotenv 与 config 库详解
  • 【计算机网络 | 第2篇】计算机网络概述(下)
  • Go 语言模糊测试 (Fuzz Testing) 深度解析与实践
  • Onnx模型部署到Arm64进行推理
  • MAC-Spring Cloud + Spring Boot + RocketMQ集成
  • 「查漏补缺」ZGC相关内容整理
  • 机器学习(13):逻辑回归
  • 一周学会Matplotlib3 Python 数据可视化-Hello World编写
  • 半同步复制原理
  • 企业级库存穿透技术实现:基于LSTM的实时损耗控制算法在快鹭AI办公系统中的实践
  • Jmeter进行性能并发测试
  • mybatis知识
  • 网安学习NO.21
  • 飞算JavaAI需求转SpringBoot项目沉浸式体验
  • 探访WAIC2025:当AI成为双刃剑,合合信息如何破解真假难题
  • 北京JAVA基础面试30天打卡01
  • SpringMvc跨域配置方法详解
  • Linux网络编程【基于UDP网络通信的群聊服务】
  • 通用代码自用
  • 李沐写作笔记
  • C语言结构体、位段、枚举、联合体
  • Codeforces Round 1004 (Div. 2)
  • win10 系统,一键保存截图, shift + print_screen