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是一组插入取出元素的方法