redis之Hash散列

目录

一:概念

二:命令

1:设置单个字段

2:设置多个字段

3:返回字段个数

4:判断字段是否存在

5:返回字段值

6:返回多个字段值

7:返回所有的键值对

8:返回所有字段名

9:返回所有值

10:在字段对应的值上进行整数的增量计算(只能是integer类型数据)

11:在字段对应的值上进行浮点数的增量计算

12:删除指定的字段

三:Hash用途

1:节约内存空间

2:不适合hash的情况


一:概念

由field和关联的value组成的map键值对

field和value是字符串类型

一个hash中最多包含2^32-1键值对

在存储数据的时候可以按照数据分类的不同给数据打上标记以冒号进行分割

例如:stu:1001

           teacher:1001

二:命令

1:设置单个字段

HSET key field value

HSETNX key field value(key的filed不存在的情况下执行,key不存在直接创建)

 

2:设置多个字段

HMSET key field value [field value ...]

 

3:返回字段个数

HLEN key

 

4:判断字段是否存在

HEXISTS key field

key或者field不存在,返回0

5:返回字段值

HGET key field

6:返回多个字段值

HMGET key field [field ...]

7:返回所有的键值对

HGETALL key

 

8:返回所有字段名

HKEYS key

 

9:返回所有值

HVALS key

10:在字段对应的值上进行整数的增量计算(只能是integer类型数据)

HINCRBY key field increment(正数是增加,负数是减少)

 

11:在字段对应的值上进行浮点数的增量计算

HINCRBYFLOAT key field increment(必须是数值型)

12:删除指定的字段

HDEL key field [field ...]

三:Hash用途

1:节约内存空间

每创建一个键,它都会为这个键储存一些附加的管理信息(比如这个键的类型,这个键最后一次被访问的时间等等)

所以数据库里面的键越多,redis数据库服务器在储存附加管理信息方面耗费的内存就越多,花在管理数据库键上的CPU也会越多

2:不适合hash的情况

使用二进制位操作命令:因为Redis目前支持对字符串键进行SETBIT、GETBIT、BITOP等操作,如果你想使用这些操作,那么只能使用字符串键,虽然散列也能保存二进制数据

使用过期键功能:Redis的键过期功能目前只能对键进行过期操作,而不能对散列的字段进行过期操作,因此如果你要对键值对数据使用过期功能的话,那么只能把键值对储存在字符串里面

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值