常用php操作redis命令整理(二)雜湊型別

OldBoy~發表於2018-01-24

HSET
將雜湊表key中的域field的值設為value;如果field是雜湊表中的一個新建域,並且值設定成功,返回1;如果雜湊表中域field已經存在且舊值已被新值覆蓋,返回0。

<?php
$redis->hset('hash1','key1','val1');
var_dump($redis->hset('hash1','key1','val1_new')); //將key為'key1' value為'val1_new'覆蓋。返回0
var_dump($redis->hset('hash1','key2','val2'));     //返回1

HGET

返回雜湊表key中給定域field的值。當給定域不存在或是給定key不存在時,返回nil。

<?php
$res = $redis->hget('hash1','key1');           //取出表'hash1'中的key 'key1'的值,返回'val1_new'
var_dump($redis->hget('hash1','key3'));     //不存在返回false

HMGET

返回雜湊表key中,一個或多個給定域的值。
如果給定的域不存在於雜湊表,那麼返回一個nil值。
因為不存在的key被當作一個空雜湊表來處理,所以對一個不存在的key進行HMGET操作將返回一個只帶有nil值的表。

<?php
$redis->hset('hash1','key1','val1');
$arr = ['key1', 'key6'];
var_dump($redis->hmget('hash1',$arr)); //array(2) { ["key1"]=> string(4) "val1" ["key6"]=> bool(false) }

HGETALL

返回雜湊表key中,所有的域和值。
在返回值裡,緊跟每個域名(field name)之後是域的值(value),所以返回值的長度是雜湊表大小的兩倍。
以列表形式返回雜湊表的域和域的值。 若key不存在,返回空列表。

<?php
$redis->hset('hash1','key1','val1');
$redis->hset('hash1','key2','val2');
var_dump($redis->hGetAll('hash1')); //array(2) { ["key1"]=> string(4) "val1" ["key2"]=> string(4) "val2" }

HDEL

刪除雜湊表key中的一個或多個指定域,不存在的域將被忽略。

<?php
var_dump($redis->hdel('hash1','key2')); //int(1) 刪除成功返回1

HLEN

返回雜湊表key中域的數量。

<?php
var_dump($redis->hlen('hash1')); //int(1)

HEXISTS

檢視雜湊表key中,給定域field是否存在。
如果雜湊表含有給定域,返回1;不含有給定域,或key不存在,返回0。

<?php
var_dump($redis->HEXISTS('hash1','key1')); //bool(true) 
var_dump($redis->HEXISTS('hash1','key6')); // bool(false)

HINCRBY

為雜湊表key中的域field的值加上增量increment,也可以為負數,相當於對給定域進行減法操作。
如果key不存在,一個新的雜湊表被建立並執行HINCRBY命令。
如果域field不存在,那麼在執行命令前,域的值被初始化為0。

<?php
$redis->hset('hash1','key1','val1');
$redis->hset('hash1','key2','val2'); 
$redis->hincrby('hash1','key3',3);
$redis->hincrby('hash1','key4',-3);
var_dump($redis->hgetall('hash1')); //array(4) { ["key1"]=> string(4) "val1" ["key2"]=> string(4) "val2" ["key3"]=> string(1) "3" ["key4"]=> string(2) "-3" }

HKEYS

返回雜湊表key中的所有域。當key不存在時,返回一個空表。

<?php
var_dump($redis->hkeys('hash1')); //array(4) { [0]=> string(4) "key1" [1]=> string(4) "key2" [2]=> string(4) "key3" [3]=> string(4) "key4" }
var_dump($redis->hkeys('hash6')); //array(0) { }

HVALS

返回雜湊表key中的所有值。當key不存在時,返回一個空表。

<?php
var_dump($redis->hvals('hash1')); //array(4) { [0]=> string(4) "val1" [1]=> string(4) "val2" [2]=> string(1) "3" [3]=> string(2) "-3" }
var_dump($redis->hvals('hash5'));  // array(0) { }

 

相關文章