zoukankan      html  css  js  c++  java
  • Redis数据结构---哈希

    几乎所有的编程语言都提供了哈希(hash) 类型, 它们的叫法可能是哈希、 字典、 关联数组

    相关命令

    设置值
    hset key field value
    
    获取值
    hget key field
    
    删除field
    hdel key field [field ...]
    
    计算field个数
    hlen key
    
    批量设置或获取field-value
    hmget key field [field ...]
    hmset key field value [field value ...]
    
    判断field是否存在
    hexists key field
    
    获取所有field
    hkeys key
    
    获取所有value
    hvals key
    
    获取所有的field-value
    hgetall key
    
    hincrby hincrbyfloat  
    hincrby key field
    hincrbyfloat key field
    注:hincrby和hincrbyfloat, 就像incrby和incrbyfloat命令一样, 但是它们的作用域是filed
    
    计算value的字符串长度
    hstrlen key field

    命令复杂度

    内部编码

    哈希类型的内部编码有两种:
    ziplist(压缩列表) : 当哈希类型元素个数小于hash-max-ziplist-entries配置(默认512个) 、 同时所有值都小于hash-max-ziplist-value配置(默认64字节) 时, Redis会使用ziplist作为哈希的内部实现。
    ziplist使用更加紧凑的结构实现多个元素的连续存储, 所以在节省内存方面比hashtable更加优秀。
    hashtable(哈希表) : 当哈希类型无法满足ziplist的条件时, Redis会使用hashtable作为哈希的内部实现, 因为此时ziplist的读写效率会下降, 而hashtable的读写时间复杂度为O(
    1) 。
  • 相关阅读:
    设计模式开篇——7大设计原则
    MySQL MVCC专题
    Spring常考的面试题
    HashMap常考面试题
    Equals和==的比较
    高并发编程
    一文读懂JVM
    scala实现定时任务的方法
    PLAY2.6-SCALA(十二) 表单的处理
    PLAY2.6-SCALA(十一) 模板常用场景
  • 原文地址:https://www.cnblogs.com/MacoLee/p/13955291.html
Copyright © 2011-2022 走看看