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

Redis五大基本数据类型

1、字符串类型

字符串类型相当于 java 中的 String 类型。Redis 中的 String 类型以二进制方式存储,不会做任何的编码转换,因此不仅仅可以存储文本数据、整数、普通的字符串、JSON、xml文件,还可以存储图片、视频、音频。String 存储的种类虽然很多,但是限制了 String 的大小,最多只能存储 512MB。

这里的 key 和 value 就是字符串类型。

在 Redis 中,当你重新 set 一个已经存在的 key 时,它的 value 会变成最新的 value。

String的基本命令

SET:存储一个 string 类型的 value

SETNX:当 key 不存在时,存储一个 string 类型的 value,key 存在时,则无效

GET:获取一个 key 的 value

MGET:一次操作获取多个 key 的 value

2、散列(哈希)类型

哈希类型相当于 java 中的 HashMap 类型。Redis 的散列是结构化为字段-值对集合的记录类型。可以使用散列表示基本对象和存储计数器分组等。如下图所示:

散列的基本命令

HSET:设置一个 hash 中的一个或多个字段

HGET:返回给定字段的值

HMGET:返回给定的一个或者多个字段的值

HINCRBY:将给定字段的值增加所提供的整数

3、列表类型

Redis 中的列表是字符串值的链表,它通常被用于:

1. 实现堆栈和队列

2. 为后台工作者系统构建队列管理

列表的基本命令

LPUSH:在列表的头部添加一个新的元素

RPUSH:在列表的尾部添加一个新的元素

LPOP:删除列表头部的元素,并且将该元素作为返回值返回

RPOP:删除列表尾部的元素,并且将该元素作为返回值返回

LLEN:返回列表的长度

LMOVE:原子地将元素从一个列表移动到另一个列表

LTRIM:将列表减少到指定的元素范围

4、集合类型

Redis 的集合是一个唯一的字符串组成的无序集合,它可以应用在以下场景:

1. 跟踪唯一的项目(例如,跟踪访问给定的博客文章的所有的唯一 IP 地址)

2. 表示关系(例如,具有给定角色的所有用户的集合)

3. 执行公共集合操作,如交集、联合和差

集合的基本命令

SADD:向 set 中添加一个新成员

SREM:从 set 中移除指定的成员

SISMEMBER:检测一个字符串是不是 set 中的成员

SINTER:返回两个或多个集合共有的成员集(即交集)

SCARD:返回 set 的大小

5、有序集合

Redis 的有序集合是按相关分数排序的唯一字符串(成员)的集合。当多个字符串具有相同的分数时,字符串按字典顺序排列。有序集合的一些用例包括:

1. 排行榜:例如,我们可以使用有序集合来轻松地维护大型在线游戏中最高分的有序列表。

2. 限价器:特别是,我们可以使用有序集合来构建滑动窗口速率限制器,以防止过多的 API 请求。

有序集合的基本命令

ZADD:添加一个新的成员和与之有关的分数到有序集合中,如果这个成员已经存在,那么更新该成员的分数

ZRANGE:返回在给定的范围内,排好序的有序集合的成员

ZRANK:返回指定的成员的排名,假设排序顺序为升序

ZREVRANK:返回指定的成员的排名,假设排序顺序为降序

http://www.lryc.cn/news/169505.html

相关文章:

  • AI一点通: OpenAI whisper 在线怎么调用,怎么同时输出时间信息?
  • OpenText EnCase Mobile Investigator 查看、分析和报告被调查手机的证据
  • 【JavaScript】video标签配置及相关事件:
  • SpringSecurity 初始化解析
  • ip netns网络空间使用
  • 解决 Cannot read property ‘key‘ of undefined
  • 「聊设计模式」之工厂方法模式(Factory Method)
  • 局部变量,全局变量与内存
  • Python爬虫异常处理实用技巧分享
  • 【性能测试】Jmeter —— jmeter计数器
  • Python 布尔类型和比较运算符
  • 蓝牙核心规范(V5.4)10.1-BLE 入门笔记(1)
  • Java高级之泛型、自定义泛型、通配符的使用
  • 代码随想录二刷day32
  • linux基础篇
  • 文心一言插件开发全流程,ERNIE-Bot-SDK可以调用文心一言的能力
  • Keepalived+LVS负载均衡
  • 接口测试学习
  • 怎么用外网访问自己的网站?快解析内网端口映射来实现
  • zabbix学习1--zabbix6.x单机
  • Flink 的 Kafka Table API Connector
  • tcpdump 命令
  • 哪些测试项目可以使用自动化测试?
  • 【八大经典排序算法】冒泡排序
  • 【IEEE会议】第五届机器人、智能控制与人工智能国际学术会议(RICAI 2023)
  • 如何在本地 Linux 主机上实现 Yearning SQL 审核平台的远程访问?
  • android.support.multidex.MultiDexApplication:DexPathList
  • 云HIS医院信息化系统:集团化管理,多租户机制,满足医院业务需求
  • Docker拉取nginx镜像,部署若依Vue前端
  • 简单介绍神经网络中不同优化器的数学原理及使用特性【含规律总结】