Redis——》数据类型:Hash(哈希)

推荐链接:
    总结——》【Java】
    总结——》【Mysql】
    总结——》【Redis】
    总结——》【Spring】
    总结——》【SpringBoot】
    总结——》【MyBatis、MyBatis-Plus】


相关链接:
    Redis——》数据类型
    Redis——》数据类型:string(字符串)
    Redis——》数据类型:hash(哈希)
    Redis——》数据类型:list(列表)
    Redis——》数据类型:set(集合)
    Redis——》数据类型:zset(有序集合)
    Redis——》数据类型:bitmap

Redis——》数据类型:Hash(哈希)

  • 一、简介
  • 二、应用场景
  • 三、底层结构
  • 四、操作示例
    • (1)增
    • (2)删
    • (3)改
    • (4)查
    • (5)计算

一、简介

在Redis中,哈希类型是指v(值)本身又是一个键值对(k-v)结构

二、应用场景

缓存用户信息等

三、底层结构

字典、压缩列表

四、操作示例

注意:
如果开发使用hgetall,哈希元素比较多的话,可能导致Redis阻塞,可以使用hscan。
如果只是获取部分field,建议使用hmget。

(1)增

语法 示例 描述
hset key field value hset k1 name xiaoxian 设置field的值为value
hsetnx key field value hset k1 age 18 只有field不存在时,才设置field的值为value
hmset key field1 value1 [field2 value2 ] hmset k1 address shanghai sex female 同时设置多个 field-value

(2)删

语法 示例 描述
hdel key field1 [field2] hdel k1 address sex 删除一个或多个field

(3)改

同增

(4)查

语法 示例 描述
hget key field hget k1 name 获取指定field的值
hmget key field1 [field2] hget k1 name age 获取所有指定field的值
hkeys key hkeys k1 获取所有field
hvals key hvals k1 获取所有value
hgetall key hgetall k1 获取所有field-value
hlen key hlen k1 获取field的数量
hexists key field hexists k1 name 查看指定field是否存在

(5)计算

语法 示例 描述
hincrby key field increment hincrby k1 age 1 指定field的整数值加上增量 increment
hincrbyfload key field increment hincrby k1 height 0.5 指定field的的浮点数值加上增量 increment
hset k1 name zzl
hmset k1 age 18 address bj

hget k1 name
hmget k1 name age

hkeys k1 
hvals k1
hgetall k1

hincreby k1 age 1
hincreby k1 age -1

hincrebyfloat k1 height 0.5
hincrebyfloat k1 height -1

你可能感兴趣的:(Redis,redis,hash)