nba苦力王,松木,帅帅魂珠的作用是
一些命令需要结合 redis 的数据类型来说。
redis 4.0 之前有5种数据类型,分别是:字符串(string)、散列(hash)、列表(list)、集合(set)、有序集合(zset)。
在 4.0 版本,redis 新加了一种 stream 的类型。暂且先不说,以后会新开文章具体讲解。
基本知识:
redis 的字符串使用了 redis 自己实现的是一个字符串结构叫简单动态字符串:sds,simple dynamic string
redis 中的字符串的最大存储是 512m。
并且可以当作数字来使用的。比如 incr、incrby、decr、decrby 都是基于数字的值进行操作的。我们可以通过 incr 来实现一个计数器。或者是自增数字发生器。
散列的底层是用字典实现的。并且其就是一个字典结构。可以构成: field:value 的格式。
如下图所示:
列表底层是使用双向链表实现的。通过列表可以实现队列功能。
通过以下命令可以通过列表实现数组的功能:
lindex key index lset key index value
rpoplpush 可以实现原子性地将一个数据从表尾放到另一个或者自己的表头。
redis 中的集合与数学上的集合具有相同的性质,无序且重复。并且 redis 提供了 diff、inter、union 三种集合操作的命令。
有序集合使用跳跃表实现。集合是无序的,并且值不能重复。集合这种数据类型对于很多场景是不适用的。比如说,排行榜。于是 redis 提供了一种有序集合类型。有序集合是一个每个元素都有一个分值代表在集合中的排行的一种数据结构。如果分值相同,那么按照元素的字典序进行排序。
什么是跳跃表,可以参见这篇文章:[
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
理解Redis持久化,RDB持久化和AOF持久化的不同处理方式
Redis 两类持久化方式,快照和全量追加日志的不同处理方式
网友评论