天天看點

Redis hash資料類型操作指令

Redis hash是一個string類型的field和value的映射表。它的添加、删除操作都是0(1)(平均)

hash特别适合用于存儲對象,相較于将對象的每個字段存成單個string類型。将一個對象存儲在hash類型中會占用更少的記憶體,并且可以更友善的存儲整個對象。

下面是hash資料類型的操作指令

1、hset:設定hash field為指定值,如果key不存在,則先建立

1

2

3

4

<code>127.0.0.1:6379&gt; hset user name zeng  </code><code>//user</code><code>為表明,name為字段名 zeng為字段的值</code>

<code>(integer) 1</code>

<code>127.0.0.1:6379&gt; hget user name</code>

<code>"zeng"</code>

2、hsetnx:設定hash field為指定值,如果key不存在,則先建立,如果存在則傳回0.

5

6

7

8

<code>127.0.0.1:6379&gt; hsetnx user name yang</code>

<code>(integer) 0</code>

<code>127.0.0.1:6379&gt; hsetnx user age 27</code>

<code>127.0.0.1:6379&gt; hget user age</code>

<code>"27"</code>

3、hmset:同時設定hash的多個field

<code>127.0.0.1:6379&gt; hmset user001 name zeng age 27 job IT</code>

<code>OK</code>

<code>127.0.0.1:6379&gt; hmget user001 name age job</code>

<code>1) </code><code>"zeng"</code>

<code>2) </code><code>"27"</code>

<code>3) </code><code>"IT"</code>

4、hmget:通過擷取hash的多個field的值

5、hincrby:對hash表中指定字段的值做自增算法

<code>127.0.0.1:6379&gt; hincrby  user001 age 5</code>

<code>(integer) 32</code>

<code>(integer) 37</code>

<code>(integer) 42</code>

<code>127.0.0.1:6379&gt; hget user001 age</code>

<code>"42"</code>

6、hexists:測試指定field是否存在,存在則傳回1,不存在傳回0

<code>127.0.0.1:6379&gt; hexists user001 name</code>

<code>127.0.0.1:6379&gt; hexists user001 sex</code>

7、hlen:傳回指定hash的field數量

<code>127.0.0.1:6379&gt; hlen user    </code><code>//user</code><code>隻設定了name age</code>

<code>(integer) 2</code>

<code>127.0.0.1:6379&gt; hlen user001  </code><code>//user001</code> <code>設定了name、age、job三個field</code>

<code>(integer) 3</code>

8、hdel:删除指定hash的field

<code>127.0.0.1:6379&gt; hdel user age</code>

<code>(nil)</code>

9、hkeys:傳回hash的所有field

<code>127.0.0.1:6379&gt; hkeys user</code>

<code>1) </code><code>"name"</code>

<code>127.0.0.1:6379&gt; hkeys user001</code>

<code>2) </code><code>"age"</code>

<code>3) </code><code>"job"</code>

10、hvals:傳回hash的所有value

<code>127.0.0.1:6379&gt; hvals user001</code>

<code>2) </code><code>"42"</code>

11、hgetall:擷取hash中所有的key和value

<code>127.0.0.1:6379&gt; hgetall user001</code>

<code>2) </code><code>"zeng"</code>

<code>3) </code><code>"age"</code>

<code>4) </code><code>"42"</code>

<code>5) </code><code>"job"</code>

<code>6) </code><code>"IT"</code>

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

繼續閱讀