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