redis命令學習筆記(二) Hash

2021-10-23 01:22:12 字數 4037 閱讀 8396

redis hash 是乙個string型別的field和value的對映表,hash特別適合用於儲存物件。 redis 中每個 hash 可以儲存 232 - 1 鍵值對(40多億)

可以看成具有key和value的map容器,該型別非常適合於儲存值物件的資訊, 如:uname,uage等。該型別的資料僅占用很少的磁碟空間(相比於json) 。

hset key field value [field value …]

redis hset 命令用於為雜湊表中的字段賦值 。

如果雜湊表不存在,乙個新的雜湊表被建立並進行 hset 操作。

如果字段已經存在於雜湊表中,舊值將被覆蓋。

examples

127.0.0.1:6379> hset people name dsy age 22 height 175

(integer) 3

127.0.0.1:6379> keys *

1)"people"

一、hget key field

redis hget 命令用於返回雜湊表中指定欄位的值。

examples

127.0.0.1:6379> hget people name

"dsy"

127.0.0.1:6379> hget people age

"22"

127.0.0.1:6379> hget people height

"175"

二、hgetall key field

redis hgetall 命令用於返回雜湊表中,所有的字段和值。

在返回值裡,緊跟每個欄位名(field name)之後是字段的值(value),所以返回值的長度是雜湊表大小的兩倍。

examples

127.0.0.1:6379> hgetall people

1)"name"

2)"dsy"

3)"age"

4)"22"

5)"height"

6)"175"

三、hmget key field [field …]

redis hmget 命令用於返回雜湊表中,乙個或多個給定欄位的值。

如果指定的字段不存在於雜湊表,那麼返回乙個 nil 值。

examples

127.0.0.1:6379> hmget people name age height weight

1)"dsy"

2)"22"

3)"175"

4)(nil)

四、hkeys key

redis hkeys 命令用於獲取雜湊表中的所有欄位名。

examples

127.0.0.1:6379> hkeys people

1)"name"

2)"age"

3)"height"

hdel key field [field …]

redis hdel 命令用於刪除雜湊表 key 中的乙個或多個指定字段,不存在的字段將被忽略。

examples

127.0.0.1:6379> hset cat number 2 color yellow

(integer) 2

127.0.0.1:6379> hdel cat number

(integer) 1

127.0.0.1:6379> hgetall cat

1)"color"

2)"yellow"

一、hexists key field

redis hexists 命令用於檢視雜湊表的指定字段是否存在。

examples

127.0.0.1:6379> hexists people name

(integer) 1

127.0.0.1:6379> hexists people color

(integer) 0

二、hincrby key field increment

redis hincrby 命令用於為雜湊表中的字段值加上指定增量值。

增量也可以為負數,相當於對指定字段進行減法操作。

如果雜湊表的 key 不存在,乙個新的雜湊表被建立並執行 hincrby 命令。

如果指定的字段不存在,那麼在執行命令前,欄位的值被初始化為 0 。

對乙個儲存字串值的字段執行 hincrby 命令將造成乙個錯誤。

本操作的值被限制在 64 位(bit)有符號數字表示之內。

examples

127.0.0.1:6379> hget people age

"22"

127.0.0.1:6379> hincrby people age 10

(integer) 32

127.0.0.1:6379> hincrby people age -10

(integer) 22

127.0.0.1:6379> hincrby people money -10

(integer)

-10127.0.0.1:6379> hgetall people

1)"name"

2)"dsy"

3)"age"

4)"22"

5)"height"

6)"175"

7)"money"

8)"-10"

127.0.0.1:6379> hincrby people name 1

(error) err hash value is not an integer

三、hincrbyfloat key field increment

redis hincrbyfloat 命令用於為雜湊表中的字段值加上指定浮點數增量值。

如果指定的字段不存在,那麼在執行命令前,欄位的值被初始化為 0 。

examples

127.0.0.1:6379> hgetall people

1)"name"

2)"dsy"

3)"age"

4)"22"

5)"height"

6)"175"

7)"money"

8)"-10"

127.0.0.1:6379> hincrbyfloat people money 100.5

"90.5"

四、hlen key

redis hlen 命令用於獲取雜湊表中字段的數量。

examples

127.0.0.1:6379> hkeys people

1)"name"

2)"age"

3)"height"

4)"money"

127.0.0.1:6379> hlen people

(integer) 4

四、hvals key

redis hvals 命令返回雜湊表所有欄位的值。

examples

127.0.0.1:6379> hgetall people

1)"name"

2)"dsy"

3)"age"

4)"22"

5)"height"

6)"175"

7)"money"

8)"90.5"

127.0.0.1:6379> hkeys people

1)"name"

2)"age"

3)"height"

4)"money"

127.0.0.1:6379> hvals people

1)"dsy"

2)"22"

3)"175"

4)"90.5"

redis學習筆記二 redis的相關命令

expire key time 以秒為單位對於記憶體中不常用的資料塊叫做lru,會把lru資料塊移出記憶體。valatile lru 設定超時時間中,刪除最不常用的資料。allkeys lru 設定所以key中不常用的刪除。valatile random 設定超時時間中,隨機刪除key。allkey...

redis命令,學習筆記

1.在啟動redis服務之前,先了解一下redis相關可執行檔案的主要作用 1 redis server redis伺服器 2 redis cli redis命令列客戶端 2.string 型別,其中set setex get incr 最常用 set key val 若key存在,則覆蓋之前的va...

redis學習筆記 二

1.redis中命令大小寫不敏感 2.redis的啟動 sudo service redis server start redis cli 啟動客戶端 exists key 判斷乙個key是否存在,存在返回1,不存在返回0 del key 刪除乙個key,或者一系列的kye del key1 key...