redis hash 是一個(gè) string 類型的 field 和 value 的映射表,hash 特別適合用于存儲(chǔ)對(duì)象。
A、hset
語(yǔ)法:hset hash 表的 key field value
作用:將哈希表 key 中的域 field 的值設(shè)為 value ,如果 key 不存在,則新建 hash 表,執(zhí)行賦值,如果有 field ,則覆蓋值。
返回值:
①如果 field 是 hash 表中新 field,且設(shè)置值成功,返回 1
②如果 field 已經(jīng)存在,舊值覆蓋新值,返回 0
例 1:新的 field
例 2:覆蓋舊的的
B、 hget
語(yǔ)法:hget key field
作用:獲取哈希表 key 中給定域 field 的值
返回值:field 域的值,如果 key 不存在或者 field 不存在返回 nil
例 1:獲取存在 key 值的某個(gè)域的值
例 2:獲取不存在的 field
C、 hmset
語(yǔ)法:hmset key field value [field value…]
說(shuō)明:同時(shí)將多個(gè) field-value (域-值)設(shè)置到哈希表 key 中,此命令會(huì)覆蓋已經(jīng)存在的 field,hash 表 key 不存在,創(chuàng)建空的 hash 表,執(zhí)行 hmset.
返回值:設(shè)置成功返回 ok, 如果失敗返回一個(gè)錯(cuò)誤
例 1:同時(shí)設(shè)置多個(gè) field-value
使用 redis-desktop-manager 工具查看 hash 表 website 的數(shù)據(jù)結(jié)構(gòu)
例 2:key 類型不是 hash,產(chǎn)生錯(cuò)誤
D、hmget
語(yǔ)法:hmget key field [field…]
作用:獲取哈希表 key 中一個(gè)或多個(gè)給定域的值
返回值:返回和 field 順序?qū)?yīng)的值,如果 field 不存在,返回 nil
例 1:獲取多個(gè) field 的值
E、 hgetall
語(yǔ)法:hgetall key
作用:獲取哈希表 key 中所有的域和值
返回值:以列表形式返回 hash 中域和域的值 ,key 不存在,返回空 hash
例 1:返回 key 對(duì)應(yīng)的所有域和值
例 2:不存在的 key,返回空列表
F、 hdel
語(yǔ)法:hdel key field [field…]
作用:刪除哈希表 key 中的一個(gè)或多個(gè)指定域 field,不存在 field 直接忽略返回值:成功刪除的 field 的數(shù)量
例 1:刪除指定的 field
A、hkeys
語(yǔ)法:hkeys key
作用:查看哈希表 key 中的所有 field 域
返回值:包含所有 field 的列表,key 不存在返回空列表
例 1:查看 website 所有的域名稱
B、 hvals
語(yǔ)法:hvals key
作用:返回哈希表 中所有域的值
返回值:包含哈希表所有域值的列表,key 不存在返回空列表
例 1:顯示 website 哈希表所有域的值
C、 hexists
語(yǔ)法:hexists key field
作用:查看哈希表 key 中,給定域 field 是否存在返回值:如果 field 存在,返回 1, 其他返回 0
例 1:查看存在 key 中 field 域是否存在