Redis的五种数据结构及其常见命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/carson0408/article/details/84285429

        Redis可以存储键值与5种不同数据结构类型之间的映射。5种数据结构分别为字符串(STRING)、链表(LIST)、无序列表(SET)、散列表(HASH)和有序列表(ZSET).

1.STRING(字符串)

        常见的字符串的命令有:get、set和del等,以下是redis-cli上操作的示例。

2.LIST(链表)

        LIST结构的常见命令有:lpush、rpush表示分别将元素推入列表的左端和右端;lpop、rpop命令分别用于从列表的左端和右端弹出元素;lindex命令用于获取列表在给定位置上的一个元素;lrange命令用于获取列表在给定范围上的所有元素。以下是示例:

3.SET(无序列表)

       set使用无序方式存储元素,所以不能像列表那样,将元素推入集合的某一端,或者从集合的某一端弹出元素。不过set有自己的命令:sadd命令将元素添加到集合,srem命令从集合里面移除元素,sismember命令可以检查一个元素是否已经存在于集合中,smembers命令可以获取集合包含的所有元素(该命令执行速度在元素比较多的时候会比较慢)。sinter命令可以执行交集计算,sunion可以执行并集计算,sdiff可以执行差集计算。

4.HASH(无序散列表)

        Redis的散列可以存储多个键值对之间的映射。和字符串一样,散列存储的值既可以是字符串又可以是数字值,并且可以对散列存储的数字值执行自增操作或者自减操作。常见的命令有:hset表示在散列里面关联起给定的键值对,hset表示获取指定散列键的值,hgetall表示获取散列包含的所有键值对,hdel表示如果存在散列表中,则移除这个键。具体使用示例如下:

5.ZSET(有序集合)

        有序集合和散列一样,都用于存储键值对:有序集合的键被称为成员,每个成员都是各不相同的;有序集合的值被称为分值,分值必须为浮点数。有序集合时Redis里面唯一一个既可以根据成员访问元素,又可以根据分值以及分值的排列顺序来访问元素的结构。常见的命令有:zadd可以将带有给定分值的成员添加到有序集合里面;zrange根据元素在有序排列中所处的位置,从有序集合中获取多个元素;zrangebyscore表示获取有序集合在给定分值范围内的所有元素;zrem表示给定成员存在于有序集合,则将它移除。具体操作示例如下:

        注意:在使用插入元素命令zadd时与hash不同,而是把成员和分值位置调换,即把键值位置调换。比如zadd set 13 book,这个命令中13表示分值,book表示键成员。

猜你喜欢

转载自blog.csdn.net/carson0408/article/details/84285429
今日推荐