hash

  • 可以认为是 python 中的字典
  • field 不允许重复
  • string类型的field和value的映射表
  • 每个hash可以存储 232 - 1 键值对(40多亿)

方法

  • hest key field value 设置值

  • 'hget key field'

    127.0.0.1:6379[7]> hset test t1 hello
    (integer) 1
    127.0.0.1:6379[7]> hget test t1
    "hello"
    127.0.0.1:6379[7]>
  • hmset key f1 v1 f2 v2 设置多个值

  • hgetall key 获取 KEY 的所有 field 以及 value

    127.0.0.1:6379[7]> hmset test t2 v2 t3 v3
    OK
    127.0.0.1:6379[7]> hgetall test
    1) "t1"
    2) "hello"
    3) "t2"
    4) "v2"
    5) "t3"
    6) "v3"
    127.0.0.1:6379[7]>
  • hdel key field 删除key 的field

    127.0.0.1:6379[7]> hdel test t3
    (integer) 1
    127.0.0.1:6379[7]> hegetall test
    (error) ERR unknown command `hegetall`, with args beginning with: `test`,
    127.0.0.1:6379[7]> hgetall test
    1) "t1"
    2) "hello"
    3) "t2"
    4) "v2"
    127.0.0.1:6379[7]>
  • hexists key fied 判断字段是否存在

    127.0.0.1:6379[7]> hexists test t1
    (integer) 1
    127.0.0.1:6379[7]>
  • hincrby key filed value key的filed 的值自增

    127.0.0.1:6379[7]> hset test t10 0
    (integer) 1
    127.0.0.1:6379[7]> hincrby test t10 1
    (integer) 1
    127.0.0.1:6379[7]> hget test t10
    "1"
    127.0.0.1:6379[7]> hincrby test t10 1
    (integer) 2
    127.0.0.1:6379[7]> hget test t10
    "2"
  • hkeys 获取 hash 的 field


127.0.0.1:6379[7]> hkeys test
1) "t1"
2) "t2"
3) "t10"
  • hlen key 获取长度
    127.0.0.1:6379[7]> hlen test
    (integer) 3
  • hsetnx key filed value 只有在字段 field 不存在时,设置哈希表字段的值
127.0.0.1:6379[7]> hsetnx test t3 10
(integer) 1
127.0.0.1:6379[7]> hsetnx test t3 11111
(integer) 0
127.0.0.1:6379[7]> hget test t3
"10"

redis 篇 - hash的更多相关文章

  1. 《【面试突击】— Redis篇》--Redis都有哪些数据类型?分别在哪些场景下使用比较合适?

    能坚持别人不能坚持的,才能拥有别人不能拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>--Redis都有哪些数据类型?分别在哪些场景下使用 ...

  2. 《【面试突击】— Redis篇》-- Redis的线程模型了解吗?为啥单线程效率还这么高?

    能坚持别人不能坚持的,才能拥有别人未曾拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>-- Redis的线程模型了解吗?为啥单线程效率还这 ...

  3. 《【面试突击】— Redis篇》--Redis Cluster及缓存使用和架构设计的常见问题

    能坚持别人不能坚持的,才能拥有别人未曾拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>--Redis Cluster及缓存使用和架构设计的 ...

  4. Redis篇之操作、lettuce客户端、Spring集成以及Spring Boot配置

    Redis篇之操作.lettuce客户端.Spring集成以及Spring Boot配置 目录 一.Redis简介 1.1 数据结构的操作 1.2 重要概念分析 二.Redis客户端 2.1 简介 2 ...

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

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

  6. redis的hash操作在集中式session中的应用

    在集群部署时,为了高可用性的目的,往往把session进行共享,共享分为两种:session复制和集中式管理. redis在session集中式管理中可以起到比较大的作用. 制约session集中式共 ...

  7. Redis操作Hash工具类封装,Redis工具类封装

    Redis操作Hash工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>> ...

  8. Redis之Hash

    一.Redis之Hash简介 1. Hash是一个string类型的field和value的映射表,适合用于存储对象. 2. 每个hash可以存储232-1个键值对(40多亿). 二.Redis之Ha ...

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

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

随机推荐

  1. Java 分布式事务

    0 引言 本文主要介绍java中分布式事务以及对应的解决方案. 1 分布式事务产生的原因 1.1 数据库分库分表 当数据库单表一年产生的数据超过1000W,那么就要考虑分库分表,具体分库分表的原理在此 ...

  2. css定位!如何将两个表格并排排列!

    直接创建两个div,之后设置每个占页面的一般,设置左对齐即可.<div style="width:50%;hight:100%;float:left:"><for ...

  3. [tyvj-1194]划分大理石 二进制优化多重背包

    突然发现这个自己还不会... 其实也不难,就和快速幂感觉很像,把物品数量二进制拆分一下,01背包即可 我是咸鱼 #include <cstdio> #include <cstring ...

  4. Ubuntu中打开RAR文件

    在安装完ubuntu后,默认是不支持RAR文档的,当用鼠标双击一个RAR文档的时候会给我们上面的提示! 如果想打开RAR的文档就需要安装一个RAR解析,方法是打开终端,输入: 复制代码代码如下: su ...

  5. Elasticsearch 7.0 发布都有哪些新特性

    了解about云知识星球 .pcb{margin-right:0} 问题导读 1.Elasticsearch&Kibana 7.哪些需要修改? 2.Elasticsearch7 有哪些新特性? ...

  6. BindingResult不能获取错误对象

    BindingResult不能获取错误对象,代码如下: @RequestMapping(value = "/login") public String error4( Model ...

  7. HDU 4133

    注意题目中的一句话:If a number m has bigger evaluating value than all the numbers smaller than it... 这让我重新想过反 ...

  8. hdu 4717 The Moving Points(三分)

    http://acm.hdu.edu.cn/showproblem.php?pid=4717 大致题意:给出每一个点的坐标以及每一个点移动的速度和方向. 问在那一时刻点集中最远的距离在全部时刻的最远距 ...

  9. 建议53:用状态模式美化代码,关于python-state工具包的理解

        在<编写高质量代码:改善python程序的91个建议>的建议53:用状态模式美化代码小节中,介绍了状态模式例如以下:就是当一个对象的内在状态改变时,同意改变其行为,但这个对象看起来 ...

  10. Auto property synthesis will not synthesize property &#39;delegate&#39;; it will be implemented by its super

    今天在XCode6.3上面重写TabBar的时候,自己定义tabBar的代理遇到的一个问题 在重写tabBar的代理的时候遇到了一个警告. 解决方法: 在.m文件里 警告消失