zoukankan      html  css  js  c++  java
  • PHP-redis命令之 散列(hashes)

    二、散列(hashes)

      

    1.hset:设置散列的值
    
        $redis->hset('myhas','field1','hello');
    
        $redis->hset('myhas','field2','world');
    
    2.hmset:设置 key 指定的哈希集中指定字段的值。该命令将重写所有在哈希集中存在的字段。如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联
    
        $redis->hmset('myhas',['field1'=>11,'field2'=>22]);
    
    3.hsetnx:只在 key 指定的哈希集中不存在指定的字段时,设置字段的值。如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联。如果字段已存在,该操作无效果。
    
        $redis->hset('myhas','field1','hello');
    
        $redis->hsetnx('myhas','field1','world');
    
        $redis->hget('myhas','field1'); //输出 string(5) "hello"
    
    4.hget:返回 key 指定的哈希集中该字段所关联的值
    
        $redis->hget('myhas','field1');//输出 'hello'$redis->hget('myhas','field2');//输出 'world'
    
    5.hmget:返回 key 指定的哈希集中指定字段的值。对于哈希集中不存在的每个字段,返回 nil 值。因为不存在的keys被认为是一个空的哈希集,对一个不存在的 key 执行 HMGET 将返回一个只含有 nil 值的列表
    
        $redis->hmget('myhas',['field1','field2']);
    
    6.hgetall:返回 key 指定的哈希集中所有的字段和值。返回值中,每个字段名的下一个是它的值,所以返回值的长度是哈希集大小的两倍
    
        $redis->hgetall('myhas');//输出 array(2) { ["field1"]=> string(5) "hello" ["field2"]=> string(5) "world" }
    
    7.hkeys:返回 key 指定的哈希集中所有字段的名字。 
    
        $redis->hkeys('myhas');//输出 array(2) { [0]=> string(6) "field1" [1]=> string(6) "field2" }
    
    8.hvals:返回 key 指定的哈希集中所有字段的值
    
        $redis->hvals('myhas');//输出 array(2) { [0]=> string(5) "world" [1]=> string(5) "hello" }
    
    9.hexists:返回hash里面field是否存在  
    
        $redis->hexists('myhas','field1');
    
    10.hdel:从 key 指定的哈希集中移除指定的域。在哈希集中不存在的域将被忽略。如果 key 指定的哈希集不存在,它将被认为是一个空的哈希集,该命令将返回0。
    
        $redis->hdel('myhas','field1');
        $redis->hgetall('myhas'); // 输出 array(1) { ["field2"]=> string(5) "world" }
    
        如果想要删除 ‘myhas’ 
    
        $redis->del('myhas');
    
        $redis->hgetall('myhas'); // 输出 array(0) {  }
    
    11.hlen:返回 key 指定的哈希集包含的字段的数量。
    
        $redis->hlen('myhas');//输出int(2)
    
    12.hstrlen:返回hash指定field的value的字符串长度,如果hash或者field不存在,返回0.版本必须(3.2.0)
    
        $redis->hstrlen('myhas','field1');
    
    13.hincrby:增加 key 指定的哈希集中指定字段的数值。如果 key 不存在,会创建一个新的哈希集并与 key 关联。如果字段不存在,则字段的值在该操作执行前被设置为 0HINCRBY 支持的值的范围限定在 64位 有符号整数
    
        $redis->hmset('myhas',['field1'=>5,'field2'=>6]);
        $redis->hincrby('myhas','field1',-1);
        $redis->hget('myhas','field1');//输出 4
    
    14.hincrbyfloat:为指定key的hash的field字段值执行float类型的increment加。如果field不存在,则在执行该操作前设置为0.如果出现下列情况之一,则返回错误:
    
        $redis->hmset('myhas',['field1'=>5.2]);
        $redis->hincrbyfloat('myhas','field1',0.1);
        $redis->hget('myhas','field1');//输出 5.3
    
  • 相关阅读:
    Swift
    Swift
    Swift
    Swift
    Swift
    nineOldAnimation 应用
    Android 编程下 Touch 事件的分发和消费机制
    用Gradle 构建android程序
    CygWin模拟Linux环境进行Ant批量打包
    UML类图与类的关系详解
  • 原文地址:https://www.cnblogs.com/zouzhe0/p/7435545.html
Copyright © 2011-2022 走看看