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

Redis 数据类型详解(一):String 类型全解析

文章目录

  • 前言
  • 一、什么是 Redis 的 String 类型?
  • 二、常用命令
    • 1.SET
    • 2.GET
    • 3.MSET
    • 4.MGET
    • 5.INCR
    • 6.INCRBY
    • 7.INCRBYFLOAT
    • 8.SETNX
    • 9.SETEX
  • 三、注意事项
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:
在学习 Redis 的过程中,最基础也是最常用的数据类型就是 String。虽然名字叫“字符串”,但它的功能远不止文本处理那么简单。本文将系统介绍 Redis 中 String 类型的特点、常用命令及应用场景,为后续学习其他高级特性打好基础


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是 Redis 的 String 类型?

Redis 中的 String 是最基本的数据类型,一个键对应一个值,值可以是字符串、整数或浮点数,最多支持存储 512MB 的数据。

尽管名为“字符串”,但 Redis 实际上是一个二进制安全的键值对数据库,String 类型可以存储任何数据,比如 JSON对象图片的 Base64 编码序列化后的对象

在这里插入图片描述

二、常用命令

## 1.引入库

1.SET

格式 set key value

set test1 'kop'

这里相当于插入一个key为test1 值 为 kop的一条数据
在这里插入图片描述

2.GET

格式 get key value
获取key为test1的value值

get test1

在这里插入图片描述
这里因为没有test2这个key 所以返回空nil

3.MSET

格式 mset key value key value…
批量添加key
添加了三个key 分别为test2 test3 test4 对应的value分别为 100 101 102

mset test2 100 test3 101 test4 102

在这里插入图片描述

4.MGET

格式 mget key key …
同时获取多个key的value值

mget test2 test3 test4

在这里插入图片描述

5.INCR

格式 incr key
让一个整型的key自增1
我们之前定义的test2 为 100

 incr test2

在这里插入图片描述
通过这个命令就变成了101了

6.INCRBY

格式 incrby key value
可以指定增加多少
比如我让test继续增加一个100 就应该变成了201

incrby test2 100

在这里插入图片描述

7.INCRBYFLOAT

格式 incrbyfloat key value
让一个浮点型的数增加指定长度

set test5 1.5
incrbyfloat test5 1.5

先创建一个 然后再增长1.5
在这里插入图片描述
就变成了3

8.SETNX

格式 setnx key value
如果不存在此key 就添加

setnx test2 1502  //这个test2已经存在 所以添加失败
setnx test6 1999 //test6不存在 添加成功

在这里插入图片描述
返回值1代表成功 0代表失败

9.SETEX

格式 setex key 存活时间 value
创建一个key 然后指定存活时间 (s)

 setex test6 108 10

创建key为test6 指定存活108秒 value值为10


三、注意事项

(1)String 类型虽然简单,但占用内存大时(如 JSON 字符串或大文本),注意控制大小;
(2)不要滥用 String 储存结构化数据(如列表、哈希等),推荐使用更合适的数据类型
(3)尽量使用 SET key value EX 60 NX 一类的原子操作,避免 race condition

总结

Redis 的 String 类型功能丰富,支持简单的键值存储、数值自增、过期控制、原子操作等功能,是最常用的数据类型之一。掌握 String 是学习 Redis 的第一步,也是在实际项目中处理缓存、限流、验证码等场景的基础。

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

相关文章:

  • RabbitMQ 深度解析:从核心组件到复杂应用场景
  • nt!MiSessionAddProcess函数分析和nt!MmSessionSpace全局变量的关系
  • DeepSeek Copilot idea插件推荐
  • 架构思维:使用懒加载架构实现高性能读服务
  • 运算放大器的主要技术指标
  • 【浅尝Java】变量与数据类型(含隐式类型转换、强制类型转换、整型与字符串互相转换等)
  • JWT解析
  • WebRTC 服务器之Janus视频会议插件信令交互
  • docker:制作镜像+上传镜像+拉取镜像
  • 前端 uni-app 初步使用指南
  • javaEE——单例模式
  • FreeRTOS菜鸟入门(十)·消息队列
  • MySQL用户管理
  • 以下是在 Ubuntu 上的几款PDF 阅读器,涵盖轻量级、功能丰富和特色工具:
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]: [1]如何加载动态链接库, 并无缝支持原生底层开发?
  • iview 表单验证问题 Select 已经选择 还是弹验证提示
  • 【Java 并发编程】线程的基本使用(持续更新优化)
  • 【沐风老师】3DMAX按元素UV修改器插件教程
  • Ubuntu环境下使用uWSGI服务器【以flask应用部署为例】
  • 【2025软考高级架构师】——知识脑图总结
  • Spring AI聊天模型API:轻松构建智能聊天交互
  • 软考-软件设计师中级备考 12、软件工程
  • nginx 正反向代理和nginx正则
  • 数据分析之药物-基因-代谢物
  • RAGFlow 接入企业微信应用实现原理剖析与最佳实践
  • IP 协议
  • 性能优化实践:内存优化技巧
  • iview 老版本合并单元格
  • 基于Hive + Spark离线数仓大数据实战项目(视频+课件+代码+资料+笔记)
  • Linux环境部署iview-admin项目