redis基本操作 —— hash[亲测有效]

redis基本操作 —— hash[亲测有效]一、将哈希表 key 中的字段 field 的值设为 value 命令:hset 格式:hset key field value 127.0.0.1:6379> hset hash_key ke

redis基本操作 —— hash

一、将哈希表 key 中的字段 field 的值设为 value

  命令:hset

  格式:hset key field value

127.0.0.1:6379> hset hash_key key1 v1
(integer) 1
127.0.0.1:6379> hset hash_key key2 v2
(integer) 1

代码100分

二、获取存储在哈希表中指定字段的值

  命令:hget

  格式:hget key field

代码100分127.0.0.1:6379> hget hash_key key1
"v1"
127.0.0.1:6379> hget hash_key key2
"v2"

三、删除一个或多个哈希表字段

  命令:hdel

  格式:hdel key field

127.0.0.1:6379> hget hash_key key1
"v1"
127.0.0.1:6379> hget hash_key key2
"v2"
127.0.0.1:6379> hdel hash_key key2
(integer) 1
127.0.0.1:6379> hget hash_key key2
(nil)
127.0.0.1:6379> hget hash_key key1
"v1"

四、查看哈希表 key 中,指定的字段是否存在

  命令:hexists

  格式:hexists key field

代码100分127.0.0.1:6379> hget hash_key key2
(nil)
127.0.0.1:6379> hget hash_key key1
"v1"
127.0.0.1:6379> hexists hash_key key1
(integer) 1
127.0.0.1:6379> hexists hash_key key2
(integer) 0

五、获取在哈希表中指定 key 的所有字段和值

  命令:hgetall

  格式:hgetall key

127.0.0.1:6379> hset hash_key key1 v1
(integer) 1
127.0.0.1:6379> hgetall hash_key
1) "key1"
2) "v1"
127.0.0.1:6379> hset hash_key key2 v2
(integer) 1
127.0.0.1:6379> hgetall hash_key
1) "key1"
2) "v1"
3) "key2"
4) "v2"
127.0.0.1:6379> hdel hash_key key2
(integer) 1
127.0.0.1:6379> hgetall hash_key
1) "key1"
2) "v1"

六、获取所有哈希表中的字段

  命令:hkeys

  格式:kheys key

127.0.0.1:6379> hset hash_key key1 v1
(integer) 1
127.0.0.1:6379> hkeys hash_key
1) "key1"
127.0.0.1:6379> hset hash_key key2 v2
(integer) 1
127.0.0.1:6379> hkeys hash_key
1) "key1"
2) "key2"

七、获取哈希表中字段的数量

  命令:hlen

  格式:hlen key

127.0.0.1:6379> hset hash_key key1 v1
(integer) 1
127.0.0.1:6379> hlen hash_key
(integer) 1
127.0.0.1:6379> hset hash_key key2 v2
(integer) 1
127.0.0.1:6379> hlen hash_key
(integer) 2

八、同时将多个 field-value (域-值)对设置到哈希表 key 中

  命令:hmset

  格式:hmset key field1 value1 [field2 value2] …

127.0.0.1:6379> hgetall hash_key
1) "key1"
2) "v1"
3) "key2"
4) "v2"
127.0.0.1:6379> hkeys hash_key
1) "key1"
2) "key2"
127.0.0.1:6379> hmset hash_key key3 v3 key4 v4 key5 v5
OK
127.0.0.1:6379> hgetall hash_key
 1) "key1"
 2) "v1"
 3) "key2"
 4) "v2"
 5) "key3"
 6) "v3"
 7) "key4"
 8) "v4"
 9) "key5"
10) "v5"
127.0.0.1:6379> hkeys hash_key
1) "key1"
2) "key2"
3) "key3"
4) "key4"
5) "key5"

九、获取所有给定字段的值

  命令:hmget

  格式:hmget key field1 [field2] …

127.0.0.1:6379> hmget hash_key key1 key3 key5
1) "v1"
2) "v3"
3) "v5"

十、获取哈希表中所有值

  命令:hvals

  格式:hvals key

127.0.0.1:6379> hgetall hash_key
 1) "key1"
 2) "v1"
 3) "key2"
 4) "v2"
 5) "key3"
 6) "v3"
 7) "key4"
 8) "v4"
 9) "key5"
10) "v5"
127.0.0.1:6379> hvals hash_key
1) "v1"
2) "v2"
3) "v3"
4) "v4"
5) "v5"

十一、只有在字段 field 不存在时,设置哈希表字段的值

  命令:hsetnx

  格式:hsetnx key field value

127.0.0.1:6379> hset hash_key key1 value1
(integer) 1
127.0.0.1:6379> hget hash_key key1
"value1"
127.0.0.1:6379> hset hash_key key1 value100
(integer) 0
127.0.0.1:6379> hget hash_key key1
"value100"
127.0.0.1:6379> hsetnx hash_key key1 value10000
(integer) 0
127.0.0.1:6379> hget hash_key key1
"value100"
127.0.0.1:6379> hsetnx hash_key key10 value10000
(integer) 1
127.0.0.1:6379> hget hash_key key10
"value10000"

十二、为哈希表 key 中的指定字段的整数值加上增量 increment

  命令:hincrby

  格式:hincrby key field increment

127.0.0.1:6379> hset hash_key num 100
(integer) 1
127.0.0.1:6379> hget hash_key num
"100"
127.0.0.1:6379> hincrby hash_key num 5
(integer) 105
127.0.0.1:6379> hget hash_key num
"105"
127.0.0.1:6379> hincrby hash_key num -15
(integer) 90
127.0.0.1:6379> hget hash_key num
"90"

十三、为哈希表 key 中的指定字段的浮点数值加上增量 increment

  命令:hincrbyfloat

  格式:hincrbyfloat key field increment

127.0.0.1:6379> hset hash_key float 100
(integer) 1
127.0.0.1:6379> hget hash_key float
"100"
127.0.0.1:6379> hincrbyfloat hash_key float 0.5
"100.5"
127.0.0.1:6379> hget hash_key float
"100.5"
127.0.0.1:6379> hincrbyfloat hash_key float -1.5
"99"
127.0.0.1:6379> hget hash_key float
"99"

十四、迭代哈希表中的键值对

  命令:hscan

  格式:hscan key cursor [MATCH pattern] [COUNT count]

 

127.0.0.1:6379> hmset hash_key k1 v1 k2 v2 k3 v3 k4 v4 k5 v5 k6 v6 k7 v7 k8 v8 k9 v9 k10 v10 k11 v11 k12 v12
OK
127.0.0.1:6379> hgetall hash_key
 1) "k1"
 2) "v1"
 3) "k2"
 4) "v2"
 5) "k3"
 6) "v3"
 7) "k4"
 8) "v4"
 9) "k5"
10) "v5"
11) "k6"
12) "v6"
13) "k7"
14) "v7"
15) "k8"
16) "v8"
17) "k9"
18) "v9"
19) "k10"
20) "v10"
21) "k11"
22) "v11"
23) "k12"
24) "v12"
127.0.0.1:6379> del hash_key
(integer) 1
127.0.0.1:6379> hmset hash_key key1 v1 key2 v2 key3 v3 key4 v4 key5 v5 k6 v6 k7 v7 k8 v8 k9 v9 k10 v10
OK
127.0.0.1:6379> hgetall hash_key
 1) "key1"
 2) "v1"
 3) "key2"
 4) "v2"
 5) "key3"
 6) "v3"
 7) "key4"
 8) "v4"
 9) "key5"
10) "v5"
11) "k6"
12) "v6"
13) "k7"
14) "v7"
15) "k8"
16) "v8"
17) "k9"
18) "v9"
19) "k10"
20) "v10"
127.0.0.1:6379> hscan hash_key 0 match k*
1) "0"
2)  1) "key1"
    2) "v1"
    3) "key2"
    4) "v2"
    5) "key3"
    6) "v3"
    7) "key4"
    8) "v4"
    9) "key5"
   10) "v5"
   11) "k6"
   12) "v6"
   13) "k7"
   14) "v7"
   15) "k8"
   16) "v8"
   17) "k9"
   18) "v9"
   19) "k10"
   20) "v10"
127.0.0.1:6379> hscan hash_key 0 match key*
1) "0"
2)  1) "key1"
    2) "v1"
    3) "key2"
    4) "v2"
    5) "key3"
    6) "v3"
    7) "key4"
    8) "v4"
    9) "key5"
   10) "v5"

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8136.html

(0)
上一篇 2023-03-06
下一篇 2023-03-06

相关推荐

  • 为什么在Python中使用None是件好事?

    为什么在Python中使用None是件好事?None是Python中的一个特殊对象,表示空值或者不存在。在Python中,None可以在函数中作为占位符使用,表示该参数暂时没有值。

    2023-12-22
    62
  • HTAP的关键技术有哪些?| StoneDB学术分享会第③期[亲测有效]

    HTAP的关键技术有哪些?| StoneDB学术分享会第③期[亲测有效]在最新一届国际数据库顶级会议 ACM SIGMOD 2022 上,来自清华大学的李国良和张超两位老师发表了一篇论文:《HTAP Database: What is New and What is Ne

    2023-06-07
    98
  • 使用Tablib进行数据处理

    使用Tablib进行数据处理数据处理在计算机科学和工程中是一个重要的领域,常见的应用包括数据挖掘、机器学习、统计分析等等。在Python中,有许多第三方的库可以帮助我们进行数据处理。本文将介绍一种名为Tablib的库,它能够帮助我们轻松地进行数据导入、导出和转换。

    2024-04-24
    16
  • Python实现start-process参数传递

    Python实现start-process参数传递
    start-process是Linux操作系统中一个用于启动新进程的命令,它可以通过命令行传递参数和选项,让新进程在创建后可以使用这些参数和选项来执行特定的操作。在Python中,我们也可以使用subprocess模块来实现start-process的功能,传递参数和选项等信息。Python实现start-process参数传递的过程中,需要注意的一些问题,下面将逐一阐述。

    2024-02-23
    85
  • Oracle修改用户Profile SESSIONS_PER_USER 限制「建议收藏」

    Oracle修改用户Profile SESSIONS_PER_USER 限制「建议收藏」一、Profile目的: Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如

    2022-12-30
    100
  • pg_is_in_recovery_源码反编译

    pg_is_in_recovery_源码反编译作者:张连壮 PostgreSQL 研发工程师 从事多年 PostgreSQL 数据库内核开发,对 citus 有非常深入的研究。 上一期 我们介绍了 PostgreSQL 数据找回工具:pg_rec

    2023-04-29
    127
  • 如何使用SPSS的平均值检验,来探索人群客单价差异的显著性

    如何使用SPSS的平均值检验,来探索人群客单价差异的显著性IBM SPSS Statistics平均值检验,是通过计算一个或多个自变量类别的因变量平均值,并对平均值执行单向方差检验分析,来探索自变量类别平均值是否存在差异的检验方法。 比如,我们经常会使用平…

    2023-04-13
    111
  • 荣耀30Pro+24时拍摄体验 IMX700名不虚传[通俗易懂]

    荣耀30Pro+24时拍摄体验 IMX700名不虚传[通俗易懂]  我爸是一个摄影爱好者,受他影响我也比较喜欢拍照,不同的是他喜欢背着单反到处游玩,这周末又去浙江丽水拍照,而懒癌晚期的我不喜欢背着单反到处走。最近入手荣耀30Pro+拍照手机,解锁拍照新方式,准备…

    2023-03-09
    104

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注