redis之Hash类型常用方法总结

格式:

存--HMGET key field [field ...]
取--HMGET key field [field ...]

M:表示能取多个值,many

H:表示hash类型

基本操作

  1. hmset key field value [field value ...] 设置hash字段和值

    127.0.0.1:6379> hmset hehe_key name "panlifu" age "100"
    OK
    127.0.0.1:6379> hgetall hehe_key
    1) "name"
    2) "panlifu"
    3) "age"
    4) "100"
    127.0.0.1:6379> hmget hehe_key name
    1) "panlifu"
    127.0.0.1:6379> hmget hehe_key age
    1) "100"
    127.0.0.1:6379>
  2. hmget key field [field ...] 获取哈希表中某个字段的值

    127.0.0.1:6379> hmset hehe_key name "panlifu" age "100"
    OK
    127.0.0.1:6379> hmget hehe_key name
    1) "panlifu"
    127.0.0.1:6379> hmget hehe_key age
    1) "100"
    127.0.0.1:6379>
  3. hgetall key 获取哈表表中所有字段的值及字段

    127.0.0.1:6379> hmset hehe_key name "panlifu" age "100"
    OK
    127.0.0.1:6379> hgetall hehe_key
    1) "name"
    2) "panlifu"
    3) "age"
    4) "100"
  4. hdel key field [field ...] 删除一个或多个哈希表字段

    127.0.0.1:6379> hmset hehe_key name "panlifu" age "100"
    OK
    127.0.0.1:6379> hmget hehe_key name
    1) "panlifu"
    127.0.0.1:6379> hmget hehe_key age
    1) "100"
    127.0.0.1:6379> hdel hehe_key name
    (integer) 1
    127.0.0.1:6379> hmget hehe_key name
    1) (nil)
  5. hexists key field 查看哈希表中,指定的字段是否存在,存在返回1,不存在(哈希表或指定字段不存在)返回0

    127.0.0.1:6379> hmset hehe name panlifu  sex  boy
    OK
    127.0.0.1:6379> hexists keke name
    (integer) 0
    127.0.0.1:6379> hexists hehe name
    (integer) 1
  6. hget key field 获取存储在哈希表中指定字段的值

    127.0.0.1:6379> hmset hehe_key name "panlifu" age "100"
    OK
    127.0.0.1:6379> hgetall hehe_key
    1) "name"
    2) "panlifu"
    3) "age"
    4) "100"
    127.0.0.1:6379> hmget hehe_key name
    1) "panlifu"
    127.0.0.1:6379> hmget hehe_key age
    1) "100"
    127.0.0.1:6379>
  7. hset key field 设置存储在哈希表中指定字段的值(只能存储一个)

    127.0.0.1:6379> hset hehe age 10
    (integer) 0
    127.0.0.1:6379> hget hehe age
    "10"
  8. hincrby key field increment 为哈希表 key 中的指定字段的整数值加上增量 increment

    127.0.0.1:6379> hset hehe age 10
    (integer) 0
    127.0.0.1:6379> hget hehe age
    "10"
    127.0.0.1:6379> hincrby hehe age 1 # hash表hehe中的age字段的值增加1
    (integer) 11
    127.0.0.1:6379> hget hehe age
    "11"
  9. hincrbyfloat key field increment 为哈希表 key 中的指定字段的浮点数值加上增量 increment 。

    127.0.0.1:6379> hset hehe height 1.8
    (integer) 1
    127.0.0.1:6379> hincrbyfloat hehe height 0.5
    "2.3"
    127.0.0.1:6379> hget hehe height
    "2.3"
  10. hkeys key 获取所有哈希表中的字段

    127.0.0.1:6379> hkeys hehe
    1) "name"
    2) "age"
    3) "sex"
    4) "height"
  11. hlen key 获取哈希表中字段的数量

    127.0.0.1:6379> hkeys hehe
    1) "name"
    2) "age"
    3) "sex"
    4) "height"
    127.0.0.1:6379> hlen hehe
    (integer) 4
  12. hsetnx key field value 只有在字段 field 不存在时,设置哈希表字段的值。

    127.0.0.1:6379> hgetall hehe
    1) "name"
    2) "panlifu"
    3) "age"
    4) "11"
    5) "sex"
    6) "boy"
    7) "height"
    8) "2.3"
    127.0.0.1:6379> hsetnx hehe name lt
    (integer) 0
    127.0.0.1:6379> hgetall hehe
    1) "name"
    2) "panlifu"
    3) "age"
    4) "11"
    5) "sex"
    6) "boy"
    7) "height"
    8) "2.3"
  13. hvals key 获取哈希表中所有值

    127.0.0.1:6379> hgetall hehe
    1) "name"
    2) "panlifu"
    3) "age"
    4) "11"
    5) "sex"
    6) "boy"
    7) "height"
    8) "2.3"
    127.0.0.1:6379> hvals hehe
    1) "panlifu"
    2) "11"
    3) "boy"
    4) "2.3"
  14. HSCAN key cursor [MATCH pattern] [COUNT count] 迭代哈希表中的键值对。

    # 1. 查看hash表pms:1中有多少条记录
    127.0.0.1:6379[1]> hgetall pms:1
    1) "stock"
    2) "12"
    3) "freeze"
    4) "10"
    5) "stock:1"
    6) "11"
    7) "stock:2"
    8) "23"
    9) "stock:freeze:1"
    10) "111"
    11) "stock:5"
    12) "1212" # 2. 模糊查看pms:1下的键
    127.0.0.1:6379[1]> hscan pms:1 0 match stock:* count 100
    1) "0"
    2) 1) "stock:1"
    2) "11"
    3) "stock:2"
    4) "23"
    5) "stock:freeze:1"
    6) "111"
    7) "stock:5"
    8) "1212" # 3. 模糊查看pms:1下的键
    127.0.0.1:6379[1]> hscan pms:1 0 match stock* count 100
    1) "0"
    2) 1) "stock"
    2) "12"
    3) "stock:1"
    4) "11"
    5) "stock:2"
    6) "23"
    7) "stock:freeze:1"
    8) "111"
    9) "stock:5"
    10) "1212" # 4. 模糊查看pms:1下的键
    127.0.0.1:6379[1]> hscan pms:1 0 match stock:freeze:* count 100
    1) "0"
    2) 1) "stock:freeze:1"
    2) "111" # 5. 查看有多少个键
    127.0.0.1:6379[1]> keys *
    1) "pms:1"
    2) "pms:freeze:21"
    3) "pms:10"
    4) "pms:11"
    5) "pms:9"
    6) "pms:4"
    7) "name"
    8) "pms:5"
    9) "pms:8"
    10) "pms:7"
    11) "pms:2"
    12) "go:123"
    13) "pms:3"
    14) "pms:6" # 6. 模糊查找pms:*的键
    127.0.0.1:6379[1]> scan 0 match pms:* count 10
    1) "3"
    2) 1) "pms:1"
    2) "pms:8"
    3) "pms:freeze:21"
    4) "pms:5"
    5) "pms:11"
    6) "pms:9"
    7) "pms:4"
    8) "pms:3"
    9) "pms:6" # 7. 模糊查找pms:*的键,游标从3开始
    127.0.0.1:6379[1]> scan 3 match pms:* count 10
    1) "0"
    2) 1) "pms:10"
    2) "pms:7"
    3) "pms:2

redis之Hash类型常用方法总结的更多相关文章

  1. redis之List类型常用方法总结

    redis之List类型常用方法总结 格式: 存---LPUSH key value [value ...] 取--LRANGE key start stop lpush key value [val ...

  2. redis的Hash类型以及其操作

    hashes类型 hashes类型及操作Redis hash是一个string类型的field和value的映射表.它的添加.删除操作都是0(1)(平均).hash特别适合用于存储对象.相较于将对象的 ...

  3. 二:redis 的hash类型相关操作

    =====================二种:hash类型================== 介绍:redis -> hash是一个string类型的field和value的映射表 hash ...

  4. StackExchange.Redis 之 hash 类型示例

    StackExchange.Redis 的组件封装示例网上有很多,自行百度搜索即可. 这里只演示如何使用Hash类型操作数据: // 在 hash 中存入或修改一个值 并设置order_hashkey ...

  5. redis的hash类型

    1.简单描述 hash是一个string类型的field和value的映射表.添加和删除操作都是O(1)(平均)的复杂度.hash类型特别适合用于存储对象.在field的数量在限制的范围内以及valu ...

  6. redis的hash类型!!!!

    Hash类型 redsi的hash是基本类型之一,键值本身又是一对键值结构,是string类型的field和value的映射表,或者说是集合,适合存储对象. Hash的增操作 127.0.0.1:63 ...

  7. Redis之Hash类型操作

    接口IRedisDaoHash: package com.net.test.redis.base.dao; import com.net.test.redis.base.entity.UserPsg; ...

  8. redis对hash进行的相关操作

    redis对hash类型操作的相关命令以及如何在python使用这些命令 redis对hash类型操作的命令: 命令 语法 概述 返回值 Redis Hdel 命令 hdel key field [f ...

  9. 面试官:说说Redis的Hash底层 我:......(来自阅文的面试题)

    redis源码分析系列文章 [Redis源码系列]在Liunx安装和常见API 为什么要从Redis源码分析 String底层实现——动态字符串SDS Redis的双向链表一文全知道 前言 hello ...

随机推荐

  1. Windows server 2012 R2 服务器用户自动锁定

    开启共享文件夹后,发现经常会自动锁定导致,共享用户无法正常访问共享文件夹(原因不明) 解决办法,打开本地安全策略 把账户锁定阈值改为0

  2. 如何在应用程序中使用ML.NET?

    https://www.cnblogs.com/shanyou/p/9190701.html ML.NET以NuGet包的形式提供,可以轻松安装到新的或现有的.NET应用程序中. 该框架采用了用于其他 ...

  3. 3_6 环状序列(UVa1584)

    长度为n的环状串有n种表示法,分别为某个位置开始顺时针得到.例如,图中的环状串有10种表示: CGAGTCAGCT,GAGTCAGCTC,AGTCAGCTCG等.在这些表示法中,字典序最小的称为“最小 ...

  4. 喵星之旅-狂奔的兔子-redis使用

    一.命令行使用 redis大概有200多命令,这里只是入门级别,列举了一些非常常见的内容,如果这些会了就可以开启redis进一步学习了. 1.登录数据库 我们需要知道ip地址.端口号.密码(如果有). ...

  5. MSE-初始化MSE

    MSE(Mobility Services Engine) Cisco MSE可以配合无线实现很多功能,MSE的功能简单概括有: 1.基本位置服务捕获并聚合关键网络信息,例如设备位置,RF频谱详细信息 ...

  6. nyoj 82

    题目:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=82 2018-06-23 23:44:05 p.s.自己省错题了: 描述 一个叫ACM的 ...

  7. 「JSOI2011」分特产

    「JSOI2011」分特产 传送门 计数题. 考虑容斥掉每人至少一个的限制. 就直接枚举至少有多少人没有分到特产,然后剩下的随便分. \[Ans = \sum_{i = 0}^n (-1)^i {n ...

  8. Django 学习之Django Rest Framework(DRF)

    一. WEB应用模式 在开发Web应用中,有两种应用模式 1. 前后端不分离 把html模板文件和django的模板语法结合渲染完成以后才从服务器返回给客户. 2. 前后端分离 二. API接口 AP ...

  9. Git三招

    一.Git提交指令 git init git第一次使用在当前文件夹初始化一个git仓库,第二次不需要 git add . 把当前文件夹所有文件添加到缓存区中. 可以选特定的文件夹或文件.将后面的.改变 ...

  10. JavaScript - 编译性还是解释性?

    疑问 在JS的变量和声明式函数的提升看到了"预编译/预处理/预解释"中"预编译"这个字眼,产生了一个疑问:JS是熟知的解释性语言,但JS能被编译吗? 参考 ht ...