美文网首页
redis hash类型命令

redis hash类型命令

作者: 饱饱想要的灵感 | 来源:发表于2023-02-02 18:57 被阅读0次

hset

语法:hset key field value [field value ...]

用于为存储在key中的哈希表的field字段赋值value

例子:hset student name baobao age 18 -- 设置key为student但里面存储着name和age字段

hmset

语法:hmset key field value [field value ...]

用于同时将多个field-value(字段-值)对设置到哈希表中。此命令会覆盖哈希表中已存在的字段 注:Redis4.0.0起被废弃,推荐使用hset,它也可以一次性添加多个

hsetnx

语法:hsetnx key field value

用于为存储在key中的哈希表的field字段赋值value;如果当前field存在则添加失败(不可覆盖添加)

hget

语法:hget key field

用于返回哈希表中指定字段field的值 hget student name -- 获取哈希表里的field字段

hmget

语法:hmget key field [field ...]

用于返回哈希表中指定字段field的值;但是可以一次性返回多个field值

例子:hmget student name age -- 获取哈希表里的field多个字段

hdel

语法:hdel key field [field ...]

用于删除哈希表key中的一个或多个指定字段,不存在的字段将被忽略。如果key不存在,会被当作空哈希表处理并返回0

例子:hdel student name -- 删除哈希表中key为student里的name字段

hexists

语法:hexists key field

用于查看哈希表的指定字段field是否存在,1存在,0不存在 hexists student name -- 查看哈希表中key为student里的name字段是否存在

hgetall

语法:hgetall key

用于返回存储在key中的哈希表中所有的field和value。

hkeys

语法:hkeys key

返回存储在key中哈希表的所有field

hvals

语法:hvals key

返回存储在key中哈希表的所有value

hincrby

语法:hincrby key field increment

为哈希表key中的field的值加上指定的增量,并返回增量后的值(增量正数累加,增量负数递减);

当前命令只可操作整数类型,而字符串,浮点类型啥的会报错

例子:

hincrby student age 1       -- 对年龄累加
hincrby student age -20     -- 对年龄递减

hincrbyfloat

语法:hincrbyfloat key field increment

为哈希表key中的field的值加上指定的增量,并返回增量后的值(增量正数累加,增量负数递减)

当前命令只可操作整数类型、浮点类型,而操作字符串会报错

例子:

hincrby student salary 8844.48      -- 对工资累加
hincrby student salary -800.112     -- 对工资递减

hstrlen

语法:hstrlen key field

返回存储在key中给定field相关联的值的字符串长度(string length)

hlen

语法:hlen key

用于获取哈希表中字段(fields)的数量

hscan

语法:hscan key cursor [match pattern] [count count]

用于遍历哈希表中的键值对 cursor:游标(告诉迭代器从哪开始迭代) [match pattern]:过滤筛选条件 [count count]:迭代的个数

需要注意的是count的使用:

  • COUNT 参数的默认值为 10
  • 在迭代一个足够大的、由哈希表实现的数据库、集合键、哈希键或者有序集合键时, 如果用户没有使用 MATCH 选项, 那么命令返回的元素数量通常和 COUNT 选项指定的一样, 或者比 COUNT 选项指定的数量稍多一些。
  • 在迭代一个编码为整数集合(intset,一个只由整数值构成的小集合)、 或者编码为压缩列表(ziplist,由不同值构成的一个小哈希或者一个小有序集合)时, 增量式迭代命令通常会无视 COUNT 选项指定的值, 在第一次迭代就将数据集包含的所有元素都返回给用户。

hscan student 0 match * count 2 -- 迭代student里的field字段,下标0开始,过滤条件*全部,但是因为其编码为压缩列表, 所以countr 2不起作用

相关文章

  • Redis-数据结构&常用指令

    零、本文纲要 一、Redis数据结构二、Redis常用命令三、String类型&常用命令四、Hash类型&常用命令...

  • redis命令行操作

    redis命令 string类型操作 hash类型相关操作 list类型相关操作 set类型相关操作 zset类型...

  • Redis 哈希(Hash) 命令

    Redis 哈希(Hash) 命令 下表列出了 redis hash 基本的相关命令: 1> hdel 命令:删除...

  • 7 Redis五大数据类型简单介绍

    Redis命令大全 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set...

  • Redis使用心得记录

    0.通用命令 1.string操作命令 注redis中字符数据类型: 2.hash操作命令 3.list操作命令 ...

  • redis数据结构详解之Hash

    redis中hash对单个key/value操作的命令演示 redis中hash的添加命令hset,如果key不存...

  • Redis初识-Hash命令简单尝试

    Hash命令 上次我们说了redis中的String命令,这次来简单的介绍下Hash命令。Hash命令可以存储多个...

  • redis命令操作

    redis命令操作 一、string类型的数据 二、list数据类型(可以结合链表来理解) 三、Hash数据结构 ...

  • redis命令

    redis有5种数据类型:string,list,hash,set,zset。 全局命令 每种类型都有自己的专有命...

  • redis学习系列(三)

    redis简单操作之hash类型 redis里面的hash类型有点类似php里面的关联数组 1. hset 设置单...

网友评论

      本文标题:redis hash类型命令

      本文链接:https://www.haomeiwen.com/subject/mihghdtx.html