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. 传奇gee引擎,智能假人,假人脚本,geeM2假人

    开新区注意事项: 1.新区无任何玩家数据下可以运行“MirServer\假人行会初始化”目录下的“点我初始化假人行会.Bat”程序 2.默认假人后台管理密码为:2139263   ;--------- ...

  2. C语言:去除一个字符串中所有的空格。-函数fun传入形参m,求t=1/2-1/3+1/4.....+1/m的值。-判断形参a指定的矩阵是不是“幻方“。

    //函数fun功能:判断形参a指定的矩阵是不是“幻方“,若是返回1.(”幻方”:每列,每行,对角线,反对角线相加都相等) #include <stdio.h> #define N 3 in ...

  3. java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter 可能是我们运行的java版本过高导致

    最近给自己写了个 SpringBoot 应用程序 顺便练练手,准备把程序过到 树莓派 上,结果登陆报错

  4. Unity中调用Windows窗口选择文件

    1.OpenFileName数据接收类,如下: using UnityEngine; using System.Collections; using System; using System.Runt ...

  5. 开启glassfish安全管理允许远程访问das

    root@localhost:/opt/glassfish3/bin# ./asadmin enable-secure-admin remote failure: 至少有一个管理员用户的口令为空, 安 ...

  6. Java学习资源 - 测试

    JUnit注解解释 1. @Test : 测试方法,测试程序会运行的方法,后边可以跟参数代表不同的测试,如(expected=XXException.class) 异常测试,(timeout=xxx) ...

  7. Build ear package

    build 单个service ear TestService -> TestService 修改file Location地址(放在你指定的位置) 点击Build Archive succes ...

  8. 洗牌利器——random.shuffle()函数

    random.shuffle()是一个非常实用但是又非常容易被忽略的函数,shuffle在英语里是"洗牌"的意思,该函数非常形象地模拟了洗牌的过程,即: random.shuffl ...

  9. spring boot整合Thymeleaf

    1.引入thymeleaf: <dependency> <groupId>org.springframework.boot</groupId> <artifa ...

  10. DoublyLinkedList(双向链表)

    本来还不会写双向链表的,但最近学习了二叉树后,突然意识到这不就是双向链表嘛,然后通过对二叉树的理解,实现了一下双向链表. 代码: #define SIZE 10 DouLL * head, *n, * ...