zoukankan      html  css  js  c++  java
  • Redis基本数据结构之Hash

    1Hash (哈希)

    在 Redis 中,哈希类型 是指键值本身又是一个 键值对结构哈希 形如 value={ {field1,value1},...{fieldN,valueN} },Redis 键值对哈希类型 二者的关系如图所示:

    哈希类型中的 映射关系 叫作 field-value,这里的 value 是指 field 对应的 ,不是 对应的值。

    1.1 相关命令

    设置值

    命令为: hset key field value

    使用方法

    此外 Redis 提供了 hsetnx 命令,它们的关系就像 set 和 setnx 命令一样,只不过 作用域 由 键 变为 field。

    (1) 获取值

    命令为:hget key field

    (2) 删除field

    命令为: hdel key field [field ...]

    hdel 会删除 一个或多个 field,返回结果为 成功删除 field 的个数

    (3) 计算field个数

    命令为: hlen key

    (4) 批量设置或获取field-value

    批量设置命令为:hmset key field value [field value ...]

    批量获取命令为:hmget key field [field ...]

    hmset 和 hmget 分别是 批量设置获取 field-value,hmset 需要的参数是 key 和 多对 field-value,hmget 需要的参数是 key 和 多个 field

    (5) 获取所有的field

    命令为: hkeys key

    返回指定 哈希键 所有的 field

    (6) 获取所有value

    命令为:hvals key

    (7) 获取所有的field-value

    命令为: hgetall key

    (8) 判断field是否存在

    命令为: hexists key field

    key包含field 返回 1 不包含返回0

    (9) 各种命令的时间复杂度

    1.2 应用场景

    如图所示,为 关系型数据表 的两条 用户信息,用户的属性作为表的列,每条用户信息作为行。

    使用 Redis 哈希结构 存储 用户信息 的示意图如下:

    相比于使用 字符串序列化 缓存 用户信息,哈希类型 变得更加 直观,并且在 更新操作 上会 更加便捷。可以将每个用户的 id 定义为 键后缀,多对 field-value 对应每个用户的 属性

  • 相关阅读:
    基础学习总结(四)---内存获取、XML之PULL解析
    基础学习总结(三)--文本、SD卡数据读写
    基础学习总结(二)---认识布局与配置测试环境
    基础学习总结(一)--工程结构与打包过程
    StreamReader和StreamWrite与FileStream区别
    redis笔记
    linux 下文件显示行数
    php判断页面访问是移动端还是pc端
    redis
    判断链接是否为图片
  • 原文地址:https://www.cnblogs.com/songsongsun/p/14447615.html
Copyright © 2011-2022 走看看