Redis 雜湊 Hash 介紹與基本操作

2021-08-08 16:27:15 字數 2829 閱讀 6219

redis的雜湊可以讓使用者將多個鍵值對存在乙個redis鍵裡面,可以把一些相關資料存在一起,就像關聯式資料庫的行。

命令操作

hget

hmget的單引數版本 一次操作乙個值

hset

hmset的單引數版本 一次操作乙個值

hmget

hmget key-name key [key…]從雜湊裡面獲取乙個或者多個鍵的值

hmset

hmset key-name key value [key value…] 為雜湊裡面乙個或者多個鍵設定值

hdel

hdel key-name key [key…] 刪除給定鍵的值

hlen

獲取雜湊包含鍵值的數量

hexists

hexists key-name key 檢查給定鍵是否存在雜湊裡面

hkeys

獲取所有的鍵

hvals

獲取所有的值

hgetall

獲取所有的鍵和值

hincrby

將某個鍵的值加上乙個incrment

hincrbyfloat

將某個鍵的值加上乙個incrment(float型別)redis 2.6以上 support

--基本增加刪除

--增加操作 語法為乙個鍵裡面存在多個鍵值對 如下 前乙個為鍵 後乙個為值 兩兩對應

redis 127.0

.0.1:6379> hmset hash-key1 k1 v1 k2 v2

ok--找鍵hash-key1裡面的k1

redis 127.0

.0.1:6379> hmget hash-key1 k1

1) "v1"

--下面為錯誤示範 本想得到所有的鍵 結果錯誤

redis 127.0

.0.1:6379> hmget hash-key1

(error) err wrong number

of arguments for

'hmget'

command

--正確示範 獲取值

redis 127.0

.0.1:6379> hmget hash-key1 k1 k2

1) "v1"

2) "v2"

--查詢鍵的數量

redis 127.0

.0.1:6379> hlen hash-key1

(integer) 2

--刪除hash-key1裡面的某個鍵

redis 127.0

.0.1:6379> hdel hash-key1 k2

(integer) 1

--檢視是否刪除成功

redis 127.0

.0.1:6379> hmget hash-key1 k1 k2

1) "v1"

2) (nil)

--檢查是否存在某個鍵 返回結果1 0 判斷

redis 127.0

.0.1:6379> hexists hash-key1 k1

(integer) 1

redis 127.0

.0.1:6379> hexists hash-key1 k2

(integer) 0

--獲取所有的鍵

redis 127.0

.0.1:6379> hkeys hash-key1

1) "k1"

--獲取所有的值

redis 127.0

.0.1:6379> hvals hash-key1

1) "v1"

--獲取所以的鍵和值

redis 127.0

.0.1:6379> hgetall hash-key1

1) "k1"

2) "v1"

--設定新鍵測試加法

redis 127.0

.0.1:6379> hmset hash-key1 k2 5 k3 3.5

ok--加操作

redis 127.0

.0.1:6379> hincrby hash-key1 k2 5

(integer) 10

--錯誤示範

redis 127.0

.0.1:6379> hincrby hash-key1 k2 3.55

(error) err value is not

aninteger

or out of range

redis 127.0

.0.1:6379> hincrbyfloat hash-key1 k2 3.55

(error) err unknown command

'hincrbyfloat'

redis 127.0

.0.1:6379> hincrby hash-key1 k2 3.55

(error) err value is not

aninteger

or out of range

redis 127.0

.0.1:6379> hincrby hash-key1 k3 3.55

(error) err value is not

aninteger

or out of range

--下面是版本問題version2.6以上可以使用

redis 127.0

.0.1:6379> hincrbyfloat hash-key1 k3 3.55

(error) err unknown command

'hincrbyfloat'

redis 127.0

.0.1:6379>

Hash 雜湊介紹

1 雜湊概念 在順序結構以及平衡樹中,元素關鍵碼與其儲存位置之間沒有對映關係,想要查詢乙個元素必須要關鍵碼之間進行多次比較,順序查詢的時間複雜度為o n 在平衡二叉搜尋樹中查詢為o logn 搜尋的效率取決於關鍵碼的比較次數 但是有沒有一種理想的搜尋方法可以實現不用關鍵碼之間的對比從而找到乙個元素呢...

Redis命令 雜湊 Hash

redis hash 是乙個string型別的field和value的對映表,hash特別適合用於儲存物件。redis 中每個 hash 可以儲存 232 1 鍵值對 40多億 例項 127.0.0.1 6379 hmset mykey name redis tutorial description...

Redis 雜湊 Hash 命令

redis hash 是乙個 string 型別的 field 字段 和 value 值 的對映表,hash 特別適合用於儲存物件。描述 命令hset 將雜湊表key中的字段field的值設為value hgetall 獲取在雜湊表中指定key的所有欄位和值 hget 獲取儲存在雜湊表中指定欄位的值...