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:返回指定的成员的排名,假设排序顺序为降序

相关推荐
Java探秘者1 分钟前
Maven下载、安装与环境配置详解:从零开始搭建高效Java开发环境
java·开发语言·数据库·spring boot·spring cloud·maven·idea
2301_786964367 分钟前
3、练习常用的HBase Shell命令+HBase 常用的Java API 及应用实例
java·大数据·数据库·分布式·hbase
千年死缓1 小时前
go+redis基于tcp实现聊天室
redis·tcp/ip·golang
阿维的博客日记1 小时前
图文并茂解释水平分表,垂直分表,水平分库,垂直分库
数据库·分库分表
wrx繁星点点2 小时前
事务的四大特性(ACID)
java·开发语言·数据库
小小娥子3 小时前
Redis的基础认识与在ubuntu上的安装教程
java·数据库·redis·缓存
DieSnowK3 小时前
[Redis][集群][下]详细讲解
数据库·redis·分布式·缓存·集群·高可用·新手向
-XWB-3 小时前
【MySQL】数据目录迁移
数据库·mysql
老华带你飞3 小时前
公寓管理系统|SprinBoot+vue夕阳红公寓管理系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot·课程设计
我明天再来学Web渗透3 小时前
【hot100-java】【二叉树的层序遍历】
java·开发语言·数据库·sql·算法·排序算法