redis Hash命令,php操做Hash函數介紹

Hash類型簡介

Hash是一個string類型的field和value的映射表,hash特別適合於對象存儲,每一個hash能夠存儲2^32 - 1個鍵值對(40多億)正則表達式

原生命令介紹

命令 命令描述 實例
HMSET key field1 value1 [field2 value2] 同時將多個field-value(域-值)對設置到hash表key中 HMSET hash1 name 'zhuyl' age '24',HVALS hash1,返回值爲:"zhuyl",「24」
HMGET key field1 [field2] 返回哈希表 key 中,一個或多個給定field的值,若是給定的field不存在於哈希表,那麼返回一個 nil 值 HMGET hash1 name1 age1 desc1,返回值:"qing" (nil) "piao"
HVALS key 獲取hash表中全部值 HVALS hash1,返回值:"zhuyl",「24」
HGET key field 獲取存儲在哈希表key中指定的field的值 HGET hash1 name,返回值:"zhuyl"
HGETALL key 獲取在哈希表中指定key的全部字段和值 HGETALL hash1,返回值「name」"zhuyl" "age" "24"
HEXISTS key field 查看哈希表key中,指定的字段是否存在 HEXISTS hash1 name,存在name字段則返回:1,HEXISTS hash1 desc,不存在desc字段則返回:0
HDEL key field1 [field2] 刪除一個或多個哈希表字段 HDEL hash1 name age,返回2(表明刪除字段的個數),
HKEYS key 獲取全部哈希表key中的字段 HKEYS hash1,返回值:「name」 「age」
HLEN key 獲取哈希表key中字段的數量 HLEN hash1,返回值:2
HSET key field value 將哈希表key中的字段field的值設爲value HSET hash1 name 'yu',返回值:0,執行HVALS hash1,返回:「yu」 「24」
HSETNX key field value 只有字段field不存在時,設置哈希表字段的值 HSETNX hash1 desc 'beuty',返回值:1;執行HVALS hash1,返回值:‘yu’ ‘24’,‘beuty’,HSETNX hash1 desc 'beuty111',若是字段field已經存在,則返回:0
HINCRBY key field increment 爲哈希表key中指定字段的整數值加上增量increment HINCRBY hash1 age 3,返回增長以後的值:27
HINCRBYFLOAT key field increment 爲哈希表key中的指定字段的浮點數值加上增量increment HINCRBYFLOAT hash1 age 1.5,返回值爲+increment後的值:28.5
HSCAN key cursor [MATCH pattern] [COUNT count] 迭代哈希表中的鍵值對,match用正則表達式過濾數據,count命令指定返回的數據的條數 HSCAN hash1 0 MATCH ag* COUNT 10
HSTRLEN key field 返回哈希表key中field字段的value值得長度,若是field或者value不存在,則返回:0,redis的版本>=3.2.0 HSTRLEN hash1 name,返回值:2

特別介紹HSCAN命令

  • MATCH:經過給定的正則表達式的pattern(模式)過濾數據,只返回和給定模式匹配的元素
  • COUNT:COUNT的做用是告知迭代器每次迭代返回的元素的數量,大多數狀況下都會返回比較準確的條數; * COUNT的默認值是10; * 數據集比較大時,若是沒有使用MATCH 選項, 那麼命令返回的元素數量一般和 COUNT 選項指定的同樣, 或者比 COUNT 選項指定的數量稍多一些; * 在迭代一個編碼爲整數集合(intset,一個只由整數值構成的小集合)、 或者編碼爲壓縮列表(ziplist,由不一樣值構成的一個小哈希或者一個小有序集合)時, 增量式迭代命令一般會無視 COUNT 選項指定的值, 在第一次迭代就將數據集包含的全部元素都返回給用戶
相關文章
相關標籤/搜索