<p>Redis 列表是简单的字符串列表,按照插入顺序排序</p><p>实例</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>lpushnamekeyredis
(integer)1
127.0.0.1:6379>lpushnamekeymongodb
(integer)2
127.0.0.1:6379>lpushnamekeymysql
(integer)3
127.0.0.1:6379>lrangenamekey00
1)"mysql"
127.0.0.1:6379>lrangenamekey01
1)"mysql"
2)"mongodb"
127.0.0.1:6379>lrangenamekey02
1)"mysql"
2)"mongodb"
3)"redis"</pre><p>使用了 LPUSH 将三个值插入了名为 namekey 的列表当中</p><p>Redis 列表命令</p><p>1、BLPOP key1 [key2 ] timeout (秒)</p><p>移出并获取列表的第一个元素(也就是最后一个插入的元素), 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>blpopnamekey2
1)"namekey"
2)"mysql"
127.0.0.1:6379>blpopnamekey15
(nil)
(5.10s)</pre><p>2、BRPOP key1 [key2 ] timeout</p><p>移出并获取列表的最后一个元素(也就是第一个插入的元素), 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>brpopnamekey3
1)"namekey"
2)"redis"</pre><p>3、BRPOPLPUSH source destination timeout</p><p>从source 列表中弹出最后一个元素,将弹出的元素插入到另外一个destination 列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>lpushnamekey1java
(integer)1
127.0.0.1:6379>lpushnamekey1php
(integer)2
127.0.0.1:6379>lrangenamekey1010
1)"php"
2)"java"
127.0.0.1:6379>brpoplpushnamekeynamekey12
"mongodb"
127.0.0.1:6379>lrangenamekey1010
1)"mongodb"
2)"php"
3)"java"</pre><p>4、LINDEX key index 通过索引获取列表中的元素</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>lindexnamekey10
"mongodb"
127.0.0.1:6379>lindexnamekey11
"php"
127.0.0.1:6379>lindexnamekey12
"java"</pre><p>5、LINSERT key BEFORE|AFTER pivot value 在列表的元素前或者后插入元素</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>linsertnamekey1beforephphadoop
(integer)4
127.0.0.1:6379>lrangenamekey1010
1)"mongodb"
2)"hadoop"
3)"php"
4)"java"
127.0.0.1:6379>linsertnamekey1afterphpspark
(integer)5
127.0.0.1:6379>lrangenamekey1010
1)"mongodb"
2)"hadoop"
3)"php"
4)"spark"
5)"java"</pre><p></p><p>6、LLEN key 获取列表长度</p><pre class="brush:bash;toolbar:false">127.0.0.1:6379>llennamekey1
(integer)5</pre><p>7、LPOP key 移出并获取列表的第一个元素(也就是最上面的元素)</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>lpopnamekey1
"mongodb"
127.0.0.1:6379>lrangenamekey1010
1)"hadoop"
2)"php"
3)"spark"
4)"java"</pre><p>8、LPUSH key value1 [value2] 将一个或多个值插入到列表头部</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>lpushnamekey1scala
(integer)5
127.0.0.1:6379>lrangenamekey1010
1)"scala"
2)"hadoop"
3)"php"
4)"spark"
5)"java"</pre><p>9、LPUSHX key value 将一个值插入到已存在的列表头部</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>lpushxnamekey1zookeeper
(integer)6
127.0.0.1:6379>lrangenamekey1010
1)"zookeeper"
2)"scala"
3)"hadoop"
4)"php"
5)"spark"
6)"java"</pre><p>10、LRANGE key start stop 获取列表指定范围内的元素</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>lrangenamekey1010
1)"zookeeper"
2)"scala"
3)"hadoop"
4)"php"
5)"spark"
6)"java"</pre><p>11、LREM key count value 移除列表元素</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>lremnamekey11zookeeper
(integer)1
127.0.0.1:6379>lrangenamekey1010
1)"scala"
2)"hadoop"
3)"php"
4)"spark"
5)"java"</pre><p>12、LSET key index value 通过索引设置列表元素的值(最上面的元素的索引为0)</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>lsetnamekey10hbase
OK
127.0.0.1:6379>lrangenamekey1010
1)"hbase"
2)"hadoop"
3)"php"
4)"spark"
5)"java"</pre><p>13、LTRIM key start stop</p><p>对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>ltrimnamekey103
OK
127.0.0.1:6379>lrangenamekey1010
1)"hbase"
2)"hadoop"
3)"php"
4)"spark"</pre><p>14、RPOP key 移除并获取列表最后一个元素</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>rpopnamekey1
"spark"</pre><p></p><p>15、RPOPLPUSH source destination 移除source 列表的最后一个元素,并将该元素添加到另一个destination 列表的最上面并返回</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>lrangenamekey010
"mysql"
127.0.0.1:6379>rpoplpushnamekeynamekey1
"mysql"
127.0.0.1:6379>lrangenamekey1010
1)"mysql"
2)"hbase"
3)"hadoop"
4)"php"</pre><p>16、RPUSH key value1 [value2] 在列表中添加一个或多个值(添加到最后面)</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>rpushnamekey1aaabbb
(integer)6
127.0.0.1:6379>lrangenamekey1010
1)"mysql"
2)"hbase"
3)"hadoop"
4)"php"
5)"aaa"
6)"bbb"</pre><p>17、RPUSHX key value 为已存在的列表添加值(添加到最后面)</p><pre class="brush:cpp;toolbar:false">127.0.0.1:6379>rpushxnamekey1kkk
(integer)4
127.0.0.1:6379>lrangenamekey1010
1)"mysql"
2)"hbase"
3)"hadoop"
4)"php"
5)"aaa"
6)"bbb"
7)"kkk"</pre>