redis的五大数据类型
只要是考虑到缓存,必问redis;只要问到redis,必然要问 五大数据类型;
1 string
redis最基本的数据类型;
string 类型是二进制安全的,意思是 Redis 的 string 可以包含任何数据,比如图片或者序列化的对象
一个 redis 中字符串 value 最多可以是 512M。
2 hash数据类型
也就是映射表;key,value形式的;
类比于 Java里面的 Map<String,Map<String,Object>> 集合
3 list
也就是链表结构
特点当然也是链表的特点 a : 有序 b:可以重复
list典型使用场景
一、栈
通过命令 lpush+lpop
二、队列
命令 lpush+rpop
三、有限集合
命令 lpush+ltrim
四、消息队列
命令 lpush+brpop
4 set
特点:a --无序 b---不可重复
5 zset
zset(sorted set 有序集合),和上面的set 数据类型一样,也是 string 类型元素的集合,但是它是有序的。
6、Redis5.0新数据结构-stream
Redis的作者在Redis5.0中,放出一个新的数据结构,Stream。Redis Stream 的内部,其实也是一个队列,每一个不同的key,对应的是不同的队列,每个队列的元素,也就是消息,都有一个msgid,并且需要保证msgid是严格递增的。在Stream当中,消息是默认持久化的,即便是Redis重启,也能够读取到消息。那么,stream是如何做到多播的呢?其实非常的简单,与其他队列系统相似,Redis对不同的消费者,也有消费者Group这样的概念,不同的消费组,可以消费同一个消息,对于不同的消费组,都维护一个Idx下标,表示这一个消费群组消费到了哪里,每次进行消费,都会更新一下这个下标,往后面一位进行偏移。
---------------------------------------------------------------------------------------------------------------------------------
这几种数据类型底层是由什么数据结构构造的呢