HMGET HMGET key- name key [key ...]—— 从 散 列 里面 获取 一个 或 多个 键 的 值 HMSET HMSET key- name key value [key value ...]—— 为 散 列 里面 的 一个 或 多个 键 设置 值 HDEL HDEL key- name key [key ...]—— 删除 散 列 里面 的 一个 或 多个 键值 对, 返回 成功 找到 并 删除 的 键值 对 数量 HLEN HLEN key- name—— 返回 散 列 包含 的 键值 对 数量 HEXISTS HEXISTS key- name key—— 检查 给定 键 是否 存 在于 散 列中 HKEYS HKEYS key- name—— 获取 散 列 包含 的 所有 键 HVALS HVALS key- name—— 获取 散 列 包含 的 所有 值 HGETALL HGETALL key- name—— 获取 散 列 包含 的 所有 键值 对 HINCRBY HINCRBY key- name key increment—— 将 键 key 存储 的 值 加上 整数 increment HINCRBYFLOAT HINCRBYFLOAT key- name key increment—— 将 键 key 存储 的 值 加上 浮点 数 increment 在Redis中哈希类型是指键本身又是一种键值对结构,也就是我们所说的对象,所以Hash数据类型用来存储对象是最合适的数据类型。Hash数据类型的编码可以是zipList或HashTable。当哈希对象保存的所有键值对长度小于64字节并且元素数量少于512时使用zipList,否则使用HashTable。zipList与刚才List数据类型中讲到的zipList实际上基本一致,唯一区别在于Hash存储entry数量成对增加,所以长度一定为2的整数倍。当然,使用zipList刚才已经说过push和pop时间复杂度为O(n),所以只能在数据量少的情况下才允许使用。而HashTable其实有点类似于Java中的HashTable,HashTTable主要依赖于三个结构:dict、dictht、entry。 **Hash数据类型适用场景:** * 存储对象数据。 * 结合Json描述对象集合。