List是一個連結清單結構,主要功能是push、pop、擷取一個範圍内的素有值等,操作中key了解為連結清單的的名字,Redis的list表類型其實就是每一個子元素都是string類型的雙向連結清單。我們可以通過push、pop操作從連結清單的頭部或者尾部添加删除元素,這樣list既可以作為棧,又可以作為隊列
1、lpush: 在key對應的list頭部添加字元串元素,擷取資料時,順序和添加元素的順序是反的。先進後出
1
2
3
4
5
6
7
<code>127.0.0.1:6379> lpush mylist hello </code>
<code>(integer) 1</code>
<code>127.0.0.1:6379> lpush mylist world </code>
<code>(integer) 2</code>
<code>127.0.0.1:6379> lrange mylist 0 -1</code>
<code>1) </code><code>"world"</code>
<code>2) </code><code>"hello"</code>
2、lrange:擷取連結清單的指定下标位置的元素
3、rpush:在key對應的list的尾部添加字元串元素,擷取資料時和添加元素時的順序是一樣的,先進先出
<code>127.0.0.1:6379> rpush mylist02 hello</code>
<code>127.0.0.1:6379> rpush mylist02 world</code>
<code>127.0.0.1:6379> lrange mylist02 0 -1</code>
<code>1) </code><code>"hello"</code>
<code>2) </code><code>"world"</code>
4、linsert:在key對應list的特定位置前或者後添加字元串元素
<code>127.0.0.1:6379> linsert mylist before hello hi</code>
<code>(integer) 3</code>
<code>2) </code><code>"hi"</code>
<code>3) </code><code>"hello"</code>
5、lset:設定list中指定下标的元素值。用來替換元素
8
9
10
<code>127.0.0.1:6379> lset mylist 0 WORLD</code>
<code>OK</code>
<code>1) </code><code>"WORLD"</code>
6、lrem:從key對應的list中删除n個和value相同的元素。(n<0從尾部删除,n=0全部删除)
從頭部删除
11
12
13
14
15
<code>4) </code><code>"WORLD"</code>
<code>5) </code><code>"hi"</code>
<code>6) </code><code>"hello"</code>
<code>127.0.0.1:6379> lrem mylist 1 hello</code>
<code>3) </code><code>"WORLD"</code>
<code>4) </code><code>"hi"</code>
<code>5) </code><code>"hello"</code>
從尾部删除
<code>127.0.0.1:6379> lrem mylist -1 hello</code>
7、ltrim:保留指定key的值範圍内的資料
<code>3) </code><code>"two"</code>
<code>4) </code><code>"one"</code>
<code>5) </code><code>"three"</code>
<code>127.0.0.1:6379> ltrim mylist02 1 3 </code><code>//</code><code>保留1下标到3小标的元素</code>
<code>2) </code><code>"two"</code>
<code>3) </code><code>"one"</code>
8、lpop:從list頭部删除元素,并傳回該元素
<code>127.0.0.1:6379> lpop mylist02 </code>
<code>"world"</code>
<code>1) </code><code>"two"</code>
<code>2) </code><code>"one"</code>
9、rpop:從list尾部删除元素,并傳回元素
<code>127.0.0.1:6379> rpop mylist02 </code>
<code>"one"</code>
10、rpoplpush:從第一個list的尾部移除元素并添加到第二個list的頭部
16
<code>127.0.0.1:6379> rpoplpush mylist mylist02</code>
<code>"hi"</code>
<code>1) </code><code>"hi"</code>
11、lindex:傳回名稱為key的list中index位置的元素
<code>127.0.0.1:6379> lindex mylist 1</code>
<code>"hello"</code>
12、llen:傳回list元素的個數
<code>127.0.0.1:6379> llen mylist</code>
<code></code>
本文轉自 曾哥最愛 51CTO部落格,原文連結:http://blog.51cto.com/zengestudy/1854041,如需轉載請自行聯系原作者