• 常用php操作redis命令整理(二)哈希类型


    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) { }

     

  • 相关阅读:
    debugs
    MySQL事务隔离级别详解(转)
    解决SQL Server管理器无法连接远程数据库的问题(转)
    jQuery中click(),bind(),live()的区别(转)
    各jQuery选择器的用法(转)
    使用JQuery获取对象的几种方式(转)
    HTML中元素的定位方式
    深入浅出REST(转载)
    jQuery-Selectors(选择器)的使用(二、层次篇)(转载)
    linux常用命令
  • 原文地址:https://www.cnblogs.com/wt645631686/p/8340018.html
Copyright © 2020-2023  润新知