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. 抽象方法(abstract)

    抽象方法:父类当中的方法,不确定如何进行 {} 方法体实现,那么这就是一个抽象方法 例如:动物类:叫{}    // 叫方法就是抽象方法,不确定以何种声音叫 格式: 抽象方法:加上 abstract ...

  2. Educational Codeforces Round 77 (Rated for Div. 2)D(二分+贪心)

    这题二分下界是0,所以二分写法和以往略有不同,注意考虑所有区间,并且不要死循环... #define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> ...

  3. centos7 安装pip2和pip3

    linux pip2 安装cd /usr/bin yum install -y epel-release yum install -y python-pip _____________________ ...

  4. ASP.NET Core搭建多层网站架构【15-扩展之使用Obfuscar混淆加密保护代码】

    2020/02/03, ASP.NET Core 3.1, VS2019, Obfuscar 2.2.25 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构[15-扩展之使 ...

  5. vagrant up 报VirtualBox错误

    Debug output $ $ vagrant.exe up ==> default: Checking if box 'janihur/ubuntu-1404-desktop' is up ...

  6. 15 个优秀开源的 Spring Boot 学习项目

    Spring Boot 算是目前 Java 领域最火的技术栈了,松哥年初出版的 <Spring Boot + Vue 全栈开发实战>迄今为止已经加印了 8 次,Spring Boot 的受 ...

  7. npm 配置国内淘宝镜像

    淘宝NPM镜像官网:http://npm.taobao.org/ npm config set registry=http://registry.npm.taobao.org -g 安装cnpm: n ...

  8. (2)Linux Java环境变量安装

    install default JRE/JDK Installing Java with apt-get is easy. First, update the package index: sudo ...

  9. JQuery常用CSS操作

    JQuery常用CSS操作 $(elem).css(obj):设置行内样式 $(elem).position():返回相对于父容器位置,只能获取不能设置 $(elem).offset(obj):返回相 ...

  10. java调用exe

    前言:最近做了一个Java跨平台开启,关闭,重启nginx的功能,在Java操作exe上遇到了一些问题,下面是对这个问题一个总结 一.Java操作exe的三种方式 (1)Runtime.getRunt ...