zoukankan      html  css  js  c++  java
  • Redis常用命令--Hashes

    Hash是由键值对组成的map。Hashes的底层是通过字典实现的。一个哈希表里面可以有多个哈希表节点。而每个哈希节点就保存了字典中的一个键值对。

    字典是一种用于保存键和值对的抽象数据结构。字典里的每一个键都是唯一的。

    在哈希表里面存在一个哈希表数组。其中每个元素指向一个字典的键值对。

    在哈希表里面还记录了一个哈希表的大小。已经使用的节点数。还有一个sizemask,它总是比哈希表的大小小1,

    用于决定一个键应该放在数组的哪个索引上。

    在每个哈希表节点中,都保存了下一个节点,形成链表。

    在Redis中大概有15个操作Hash的命令。

    HSET key field value:设置hash里面key中的field字段的值设为value,时间复杂度为O(1)。

    HGET key field:获取hash中域key的field的值,,时间复杂度为O(1)。

    HDEL key field [field ...]:删除域key中一个或多个Hash的field,

    HMSET key field value [field value ...]:设置hash表中域key的多个字段值

    HMGET key field [field ...]:获取hash里面域key的多个指定字段的值

    HKEYS key:获取hash表中域key的所有字段

    HVALS key:获得hash表中key域的所有值

    HGETALL key:从hash中读取域key中全部的域和值

    HLEN key:获取hash里域key所有字段的数量

    HEXISTS key field:判断field是否存在于hash中

    HSETNX key field value:设置hash的一个字段,只有当这个字段不存在时有效

    HSTRLEN key field:获取hash里面指定field的长度

    127.0.0.1:6379> HSET user name zhangsan
    (integer) 1
    127.0.0.1:6379> HGET user name
    "zhangsan"
    127.0.0.1:6379> HMSET user age 20 address shanghai birthday 12/18
    OK
    127.0.0.1:6379> HMGET user name age
    1) "zhangsan"
    2) "20"
    127.0.0.1:6379> HDEL user age
    (integer) 1
    127.0.0.1:6379> HKEYS user
    1) "name"
    2) "address"
    3) "birthday"
    127.0.0.1:6379> HVALS user
    1) "zhangsan"
    2) "shanghai"
    3) "12/18"
    127.0.0.1:6379> HGETALL user
    1) "name"
    2) "zhangsan"
    3) "address"
    4) "shanghai"
    5) "birthday"
    6) "12/18"
    127.0.0.1:6379> HLEN user
    (integer) 3
    127.0.0.1:6379> HEXISTS user age
    (integer) 0
    127.0.0.1:6379> HEXISTS user name
    (integer) 1
    127.0.0.1:6379> HSETNX user age 18
    (integer) 1
    127.0.0.1:6379> HSETNX user name lisi
    (integer) 0
    127.0.0.1:6379> HSTRLEN user name
    (integer) 8
    127.0.0.1:6379>

    HINCRBY key field increment:将hash中指定域的值增加给定的数字

    HINCRBYFLOAT key field increment:将hash中指定域的值增加给定的浮点

    127.0.0.1:6379> HINCRBY user age 5
    (integer) 23
    127.0.0.1:6379> HINCRBYfloat user age 5.2
    "28.2"

    HSCAN key cursor [MATCH pattern] [COUNT count]:迭代hash里面的元素

    每次都返回一个游标,初始值为0。

  • 相关阅读:
    构造函数创建对象和Object.create()实现继承
    DIV伸缩盒子box
    阿里巴巴面试题
    在字符串上添加一些方法,让字符串具有新添加方法的功能
    JQuery常用函数及功能小结--转载
    滚动公告,永远只显示一条
    JS自定义属性兼容
    手机端touchstart,touchmove,touchend事件,优化用户划入某个可以点击LI的效果
    图片预加载问题
    多联动导航
  • 原文地址:https://www.cnblogs.com/zerotomax/p/7491946.html
Copyright © 2011-2022 走看看