zoukankan      html  css  js  c++  java
  • Redis学习(五)| 哈希 Hash

    Redis hash是一个string类型的field(字段)和value(值)的映射表,hash特别适合用于存储对象。

     hash是将任意长度的输入通过散列算法变换成固定长度的输出,最终输出hash值。

    一个哈希存储一条数据,一个字段field存储一条数据中的一个属性,字段值value是属性对应的值。

     Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

    哈希表hash table是为了将数据映射到数组中某个位置,通过数组下标访问元素以提高数据的查询速度,这种查询的平均期望时间复杂度为0(1)。

    例:

    127.0.0.1:6379>  HMSET hashkey field1 "value1" field2 "value2 with space but in one str" field3 3 field4 value4
    OK
    127.0.0.1:6379>  HGETALL runoobkey
    1) "field1"
    2) "value1"
    3) "field2"
    4) "value2 with space but in one str"
    5) "field3"
    6) "3"
    7) "field4"
    8) "value4"

    列举出与Redis Hash相关的基本命令:

    序号 命令 描述
    1 HDEL key field1 [field2] 删除一个或多个哈希表字段
    2 HEXISTS key field 查看哈希表 key 中,指定的字段是否存在
    3 HGET key field 获取存储在哈希表中指定字段的值
    4 HGETALL key 获取在哈希表中指定 key 的所有字段和值
    5 HINCRBY key field increment 为哈希表 key 中的指定字段的整数值加上增量 increment
    6 HINCRBYFLOAT key field increment 为哈希表 key 中的指定字段的浮点数值加上增量 increment
    7 HKEYS key 获取所有哈希表中的字段
    8 HLEN key 获取哈希表中字段的数量
    9 HMGET key field1 [field2] 获取所有给定字段的值
    10 HMSET key field1 value1 [field2 value2] 同时将多个 field-value (域-值)对设置到哈希表 key 中
    11 HSET key field value 将哈希表 key 中的字段 field 的值设为 value
    12 HSETNX key field value 只有在字段 field 不存在时,设置哈希表字段的值
    13 HVALS key 获取哈希表中所有值
    14 HSCAN key cursor [MATCH pattern] [COUNT count] 迭代哈希表中的键值对
  • 相关阅读:
    C#随机数字生成的一种方法
    SqlServer2012自增主键跳跃增长的问题解决方案
    Mysql5.7初始化成空密码或随机密码的方式
    StyleCop的常见错误
    数据库同步相关的SQL语句
    Linux Shell角本中的条件判断
    Linux(CentOS)中使用Mono+jexus部署Asp.net4.5网站
    Mina.Net实现的UDP多路广播
    Linux CentOS 6.6安装JDK1.7
    linux 常用命令
  • 原文地址:https://www.cnblogs.com/wangzhilong/p/14620842.html
Copyright © 2011-2022 走看看