zoukankan      html  css  js  c++  java
  • Redis08——Redis五大数据类型 hash

    hash

    1. Redis中的hash是一个键值对集合
    2. 同时又是一个string类型的field和value的映射表,hash特别适合用于存储对象
    3. 类似于java里面的Map<String,Object>

    问题:如果有一个Javabean对象,在Redis中该如何存在

    ①用户id为key,value为Javabean序列化后的字符串

      缺点:每次修改用户的某个属性,先反序列化改好后再序列化回去,开销大

       

    ②用户id+属性名作为key,属性值作为value

      缺点:用户id数据冗余

       

     ③通过key(用户id)+field(属性标签)可以操作对应属性数据

      优点:不需要重复存储数据

         不会带来序列化和并发修改控制的问题

       

     常用操作:

    hset <key>  <field>  <value>

    给<key>集合中的  <field>键赋值<value>

    hget <key1>  <field>  

    从<key1>集合<field> 取出 value

    hmset <key1>  <field1> <value1> <field2> <value2>...  

    批量设置hash的值

    hexists key  <field>

    查看哈希表 key 中,给定域 field 是否存在。

    hkeys <key>  

    列出该hash集合的所有field

    hvals <key>   

    列出该hash集合的所有value

    hincrby <key> <field>  <increment>

    为哈希表 key 中的域 field 的值加上增量 increment

    hsetnx <key>  <field> <value>

    将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在

  • 相关阅读:
    Java并发包线程池之ThreadPoolExecutor
    Java并发包之线程池概述
    Java同步数据结构之ConcurrentHashMap
    new 操作符
    javascript-类型转换
    javascript-引用类型
    JS-数组与伪数组
    SVG-JS操作
    SVG-变换
    SVG-标签
  • 原文地址:https://www.cnblogs.com/zly123/p/11731320.html
Copyright © 2011-2022 走看看