美文网首页
Redis--哈希

Redis--哈希

作者: Audience0 | 来源:发表于2018-06-07 18:43 被阅读0次

    哈希类型是指键值本身又是一个键值对结构

    -----------------------------命令

    ---设置值

    hset key field value

    hsetnx key field value ---此时nx限定的不再是key而是filed

    hmset key field value [field value .....] ---批量设置

    --获取值

    hget key field

    hmget key field [field ...]---批量获取

    --删除值

    hdel key field [field ...]删除一个或多个

    --计算field个数

    hlen key

    --判断field是否存在

    hexists key field

    ---获取所有的属性

    hkeys key

    --获取所有的values

    hvals key

    --获取所有的field-values

    hgetall key

    ---自增

    hincrby key field

    hincrbyfloat key filed

    --计算value字符串长度

    hstrlen key field (需要Redis3.2以上)

    --------内部编码

    ziplist(压缩列表):当哈希类型元素个数小于512(默认配置),同事所有值都小于64字节(默认配置),Redis采用ziplist作为哈希的内部实现,ziplist使用更加紧凑的结构实现多个元素的连续存储,所以在节省内存方面比hashtable更加优秀。

    hashtable(哈希表):当哈希类型无法满足ziplist时,采用hashtable作为哈希的内部实现,因为ziplist的读写效率会下降,而hashtable的读写时间复杂度为O(1)

    object encoding hashkey

    ---------------

    哈希类型是稀疏的,而关系型数据库是完全结构化的,哈希类型每个键可以有不同的属性,而关系型数据库是一旦新加属性,则所有的行都需要设置值,即使为空

    关系型数据库可以做复杂的关系查询,而Redis去模拟关系型复杂查询开发困难,维护成本高。

    相关文章

      网友评论

          本文标题:Redis--哈希

          本文链接:https://www.haomeiwen.com/subject/vstgsftx.html