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

相关推荐
Oak Zhang19 分钟前
sharding-jdbc自定义分片算法,表对应关系存储在mysql中,缓存到redis或者本地
redis·mysql·缓存
门牙咬脆骨1 小时前
【Redis】redis缓存击穿,缓存雪崩,缓存穿透
数据库·redis·缓存
门牙咬脆骨1 小时前
【Redis】GEO数据结构
数据库·redis·缓存
先鱼鲨生1 小时前
数据结构——栈、队列
数据结构
一念之坤1 小时前
零基础学Python之数据结构 -- 01篇
数据结构·python
IT 青年2 小时前
数据结构 (1)基本概念和术语
数据结构·算法
熬夜学编程的小王2 小时前
【初阶数据结构篇】双向链表的实现(赋源码)
数据结构·c++·链表·双向链表
liujjjiyun2 小时前
小R的随机播放顺序
数据结构·c++·算法
墨鸦_Cormorant3 小时前
使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像
redis·nginx·docker
Reese_Cool4 小时前
【数据结构与算法】排序
java·c语言·开发语言·数据结构·c++·算法·排序算法