Redis 入门 - 五大基础类型及其指令学习

经过前面Redis入门系列三篇文章学习,相信大家已经准备好学习新知识了,到这里也算是真正开始学习Redis了。学习了软件安装,客户端选择,那么接下来也应该来了解Redis有什么,能干什么。

我们在第一章中就说过,Redis支持丰富的数据类型,今天我们就来学习Redis五种基础类型:字符串(String)、集合(Set)、有序集合(Sorted Set)、列表(List)、哈希(Hash)。

01、字符串(String)

Redis中字符串类型是二进制安全的数据类型。可以把字符串理解成一个字符数组,这个数组里存放着很多特定编码的字符,因此这种设计,所有Redis中的字符串可以存储认识数据类型:整数、小数、字符串、图片、序列化对象、二进制数据等。

我们简单讲解几个最常见指令。

1.设置指定key的值,语法:set key value

2.获取指定key的值,语法:get key

3.删除指定key,语法:del key

当然字符串还有很多其他指令,这里就不一一列举了,有兴趣的可以自己试试。

02、集合(Set)

Redis中的集合类型可以理解为存放着一组无序的、无重复的元素的合集。你可以对元素进行增删查,也可以进行差集、交集、并集运算。

我们简单讲解几个最常见指令。

1.向指定key集合添加一个或多个元素,语法:sadd key value1 value2...

2.获取指定key集合中所有元素,语法:smembers key

3.删除指定key集合中的一个或多个元素,语法:srem key value1 value2...

当然集合还有很多其他指令,这里就不一一列举了,有兴趣的可以自己试试。

03、有序集合(Sorted Set)

Redis中的有序集合类型可以理解为集合类型+有序,即每个元素都对应一个分值,因此集合类型有的功能,有序集合类型基本也都有,同时还多了对分值进行聚合、筛选、排序等功能。

我们简单讲解几个最常见指令。

1.向指定key有序集合添加一对或多对元素及其分值,语法:zadd key score1 value1 score2 value2...

2.获取指定key有序集合中指定元素的分值,语法:

3.删除指定key有序集合中指定元素,语法:zrem key value

当然有序集合还有很多其他指令,这里就不一一列举了,有兴趣的可以自己试试。

04、列表(List)

Redis中的列表类型是一个严格按照元素先后插入的顺序排列的字符串集合,并且可以通过在这个集合的两端进行插入和移除操作,还可以通过元素值或索引进行查找元素或移除元素。

我们简单讲解几个最常见指令。

1.从左边向指定key列表插入一个或多个元素,语法:lpush key value1 value2 value3

2.从右边移除并获取指定key列表的第一个元素,语法:rpop key

当然列表还有很多其他指令,这里就不一一列举了,有兴趣的可以自己试试。

05、哈希(Hash)

Redis中的哈希类型可以理解成是一组键值对集合,键表示一个字符串字段,值表示数据对象,并且支持添加、获取或删除单个项即键值对,也可以获取整个哈希集合等功能。

我们简单讲解几个最常见指令。

1.向指定key哈希中添加一对或多对键值对,语法:hset key field1 value1 field2 value2

2.获取指定key哈希中指定键对应的值,语法:hget key filed

当然哈希还有很多其他指令,这里就不一一列举了,有兴趣的可以自己试试。

当然Redis不止这五种数据类型,还有其他更高级的数据类型,我们作为入门级教程,还是先掌握好这五大基本类型。只有掌握好了这些基础知识,只能Redis有什么,能做什么,才好在项目上熟练使用Redis,才好用Redis来解决各种复杂问题。

万丈高楼平地起,打好基础最重要,因此文章中没有列举到的指令也需要大家自己多去试试,亲自感受一下,才能更好的理解、记住、掌握。

:测试方法代码以及示例源码都已经上传至代码库,有兴趣的可以看看。https://gitee.com/hugogoos/Planner

相关推荐
蠢蠢的打码1 小时前
8584 循环队列的基本操作
数据结构·c++·算法·链表·图论
无问8173 小时前
数据结构-排序(冒泡,选择,插入,希尔,快排,归并,堆排)
java·数据结构·排序算法
Lenyiin3 小时前
《 C++ 修炼全景指南:十 》自平衡的艺术:深入了解 AVL 树的核心原理与实现
数据结构·c++·stl
slandarer4 小时前
MATLAB | R2024b更新了哪些好玩的东西?
java·数据结构·matlab
king_machine design4 小时前
matlab中如何进行强制类型转换
数据结构·算法·matlab
头发尚存的猿小二4 小时前
树——数据结构
数据结构·算法
紫钺-高山仰止5 小时前
【Matlab】matlab 结构体使用方法
数据结构·算法·matlab
shan_shmily6 小时前
算法知识点———并查集
数据结构·算法
终末圆6 小时前
MyBatis动态SQL中的`if`标签使用【后端 19】
java·数据结构·数据库·sql·算法·spring·mybatis
MogulNemenis6 小时前
力扣150题——位运算
数据结构·算法·leetcode