redis数据类型之list-lpush,rpush讲解

redis的list类型,也叫列表类型,一个key中可以保存多个值,可以作为队列使用。在作为队列使用的时候需要注意的是,list中的值是可以重复的,如果值不能重复需要程序进行去重或者使用集合。list的常见操作有lpush,rpush,lpop,rpop,blpop,brpop,blmove,brpoplpush,lindex,linsert,llen,lmove,lpos,lpushx,lrange,lrem,lset,lpushx,ltrim,rpoplpush,rpushx命令

向lish中添加元素可以使用lpush,rpush,brpoplpush,rpoplpush,rpushx,lpushx,linsert,lset命令

lpush,rpush是最常见的给list添加元素的方法。lpush 将所有指定的值插入存储在key的列表的开头。如果键不存在,则在执行推入操作之前将其创建为空列表。当key保留的值不是列表时,将返回错误.语法格式为 lpush key value1 value2

 127.0.0.1:6379> lpush list1 value1 value2 value3 value4
 (integer) 4 

添加成功返回元素的总数量。添加的元素是可以重复的。

 127.0.0.1:6379> lpush list1 value1 value2
 (integer) 6 

再次给list1添加了两个元素value1,value2是成功的,现在元素的总数是6个,我们可以查看下现在list1中有哪些元素。

 127.0.0.1:6379> lrange list1 0 -1
 1) "value2"
 2) "value1"
 3) "value4"
 4) "value3"
 5) "value2"
 6) "value1" 

可以看到现在list1中有6个元素,而且先添加的元素在后面,后添加的元素在前面。如果要想获取到最新添加的元素可以使用rpop。

rpush 将所有指定的值插入存储在key的列表的末尾。如果键不存在,则在执行推入操作之前将其创建为空列表。当key保留的值不是列表时,将返回错误.语法 rpush key value1 value2 value3 和lpush基本一致,不同点在于插入元素的位置。

 127.0.0.1:6379> rpush list2 value1 value2 value3 value4 value1 value2
 (integer) 6 

使用rpush的方法插入了6个元素,我们来看下这6个元素。

 127.0.0.1:6379> lrange list2 0 -1
 1) "value1"
 2) "value2"
 3) "value3"
 4) "value4"
 5) "value1"
 6) "value2" 

我们可以看到元素的值和我们插入的顺序是完全一致的。lpush会把插入的元素按照队尾到队首的方向,rpush的顺序则是队首到队尾的方向.lpush,rpop是一对插入取出元素的方法,rpush,lpop是一组插入取出元素的方法

发表评论

邮箱地址不会被公开。 必填项已用*标注