zoukankan      html  css  js  c++  java
  • 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 选项指定的值, 在第一次迭代就将数据集包含的所有元素都返回给用户
    有罪是符合人性的,但长期坚持不改就是魔鬼。
  • 相关阅读:
    26.列表的循环遍历
    效率比较--链表
    心之距离 再回首 光年之遥远
    效率比较--集合
    效率比较--数组
    哈希表
    栈 VS 队列
    struts1 标签引入
    web 连接池配置
    zip&ftp命令
  • 原文地址:https://www.cnblogs.com/yu-yuan/p/9875724.html
Copyright © 2011-2022 走看看