十二、Redis五大数据类型之四Hash

it2022-12-26  93

hash类型

1.hash类型数据的基本操作

添加 / 修改数据:hset key field value

获取数据:hget key field | hgetall key

删除数据:hdel key field field1

添加 / 修改多个数据:hmset key field value field1 value1

获取多个数据:hmget key field field1

获取表中字段数量:hlen key

获取表中是否存在某个字段:hexists key field

2. hash类型数据的扩展操作

获取hash表中所有的字段值:hkeys key

获取hash表中所有的字段值:hvals key

设置指定字段的数值增加指定范围的值:hincrby key field increment | hincrbyfloat key field increment

3. hash业务场景之购物车

此图来源于网络非自制,只是模拟购物车场景

在上图中,我们可以看到购物车里的信息,下来咱们使用redis来对这个购物车的实现。

4.hash类型的操作配置

Map集合,key-map 时这个值是一个map集合! 本质和String类型没有太大区别,还是一个简单的key-vlaue!

hash变更的数据 user name age,尤其是是用户信息之类的,经常变动的信息! hash 更适合于对象的存储,String更加适合字符串存储!

########################################################################## 127.0.0.1:6379> hset myhash field1 sj # set一个具体 key-value 127.0.0.1:6379> hget myhash field1 # 获取一个字段值 127.0.0.1:6379> hmset myhash field1 hello field2 world # set多个 key-vlaue 127.0.0.1:6379> hmget myhash field1 field2 # 获取多个字段值 127.0.0.1:6379> hgetall myhash # 获取全部的数据 127.0.0.1:6379> hdel myhash field1 # 删除hash指定key字段!对应的value值也就消失了! 127.0.0.1:6379> hgetall myhash ########################################################################## hlen

127.0.0.1:6379> flushdb 127.0.0.1:6379> hmset myhash field1 hello field2 world 127.0.0.1:6379> HGETALL myhash 127.0.0.1:6379> hlen myhash # 获取hash表的字段数量! ########################################################################## 127.0.0.1:6379> HEXISTS myhash field1 # 判断hash中指定字段是否存在! 127.0.0.1:6379> HEXISTS myhash field3 ########################################################################## # 只获得所有field # 只获得所有value 127.0.0.1:6379> hkeys myhash # 只获得所有field

127.0.0.1:6379> hvals myhash # 只获得所有value ########################################################################## incr decr 127.0.0.1:6379> hset myhash field3 5 #指定增量! 127.0.0.1:6379> HINCRBY myhash field3 1 127.0.0.1:6379> HINCRBY myhash field3 -1 127.0.0.1:6379> hsetnx myhash field4 hello # 如果不存在则可以设置 127.0.0.1:6379> hsetnx myhash field4 world # 如果存在则不能设置

最新回复(0)