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

相关推荐
闻哥16 分钟前
MySQL InnoDB 缓存池(Buffer Pool)详解:原理、结构与链表管理
java·数据结构·数据库·mysql·链表·缓存·面试
gechunlian8823 分钟前
redis exporter手册
数据库·redis·缓存
罗湖老棍子26 分钟前
简单题(信息学奥赛一本通- P1539)
数据结构·算法·树状数组·区间修改 单点查询
西西弟1 小时前
常见排序算法集合(数据结构)
数据结构·算法·排序算法
小龙报1 小时前
【数据结构与算法】栈和队列的综合应用:1.用栈实现队列 2.用队列实现栈 3.设计循环队列
c语言·数据结构·数据库·c++·redis·算法·缓存
重生之我是Java开发战士1 小时前
【广度优先搜索】队列:N叉树的层序遍历,二叉树的锯齿形层序遍历,二叉树的最大宽度,在每个树行中找最大值
数据结构·算法·leetcode·广度优先
eggwyw1 小时前
Redis 设置密码(配置文件、docker容器、命令行3种场景)
数据库·redis·docker
油丶酸萝卜别吃1 小时前
Redis 通常应用于哪些场景?
数据库·redis·缓存
zhoupenghui1681 小时前
redis 快速链表 详解
数据库·redis·链表·quicklist·快速链表
AlunYegeer1 小时前
论mysql的redo_log和bin_log,redis的RDB和AOF的类似记忆
数据库·redis·mysql