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

        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表示键成员。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值