天天看點

Redis list資料類型

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&gt; lpush mylist hello </code>

<code>(integer) 1</code>

<code>127.0.0.1:6379&gt; lpush mylist world </code>

<code>(integer) 2</code>

<code>127.0.0.1:6379&gt; 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&gt; rpush mylist02 hello</code>

<code>127.0.0.1:6379&gt; rpush mylist02 world</code>

<code>127.0.0.1:6379&gt; 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&gt; 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&gt; lset mylist 0 WORLD</code>

<code>OK</code>

<code>1) </code><code>"WORLD"</code>

6、lrem:從key對應的list中删除n個和value相同的元素。(n&lt;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&gt; 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&gt; 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&gt; 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&gt; 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&gt; rpop mylist02 </code>

<code>"one"</code>

10、rpoplpush:從第一個list的尾部移除元素并添加到第二個list的頭部

16

<code>127.0.0.1:6379&gt; rpoplpush mylist mylist02</code>

<code>"hi"</code>

<code>1) </code><code>"hi"</code>

11、lindex:傳回名稱為key的list中index位置的元素

<code>127.0.0.1:6379&gt; lindex mylist 1</code>

<code>"hello"</code>

12、llen:傳回list元素的個數

<code>127.0.0.1:6379&gt; llen mylist</code>

<code></code>

本文轉自 曾哥最愛 51CTO部落格,原文連結:http://blog.51cto.com/zengestudy/1854041,如需轉載請自行聯系原作者

繼續閱讀