數據結構
其實 redis的 hash類型就是一個嵌套map的結構, 其實就像一個小號的redis
可以看作是一張表 user:n 爲key, 但是表的列可以不同
hash的常用命令
-
hset
hset key field value
將哈希表key中的域field的值設爲value
如果key不存在,一個新的哈希表被創建並進行HSET操作
如果field是哈希表中的一個新建域,並且值設置成功,返回1
如果域field已經存在於哈希表中,舊值將被覆蓋,返回0 -
hsetnx
hsetnx key field value
將哈希表key中的域field的值設置爲value,當且僅當域field不存在。
如果field已經存在,該操作無效,返回0。
如果key不存在,一個新哈希表被創建並執行HSETNX命令。
-
hget
hget key field
返回哈希表key中給定域field的值
如果域field存在,給定域的值,當給定域不存在或是給定key不存在時,返回nil
-
hmset
hmset key field value [field value …]
同時將多個field - value(域-值)對設置到哈希表key中
如果命令執行成功,返回OK。當key不是哈希表(hash)類型時,返回一個錯誤
-
hmget
hmget key field [field …]
返回哈希表key中,一個或多個給定域的值,順序和給定域參數的請求順序一樣
-
hgetall
hgetall key
返回哈希表key中,所有的域和值。
在返回值裏,緊跟每個域名(field name)之後是域的值(value),所以返回值的長度是哈希表大小的兩倍
若key不存在,返回空列表
-
hkeys
hkeys key
返回哈希表key中的所有域
當key不存在時,返回一個空表
-
hvals
hvals key
返回哈希表key中的所有值
當key不存在時,返回一個空表
-
hdel
hdel key [key……]
刪除哈希表key中的一個或多個指定域,不存在的域將被忽略
-
hlen
hlen key
返回哈希表key中域的數量
當key不存在時,返回0