添加 / 修改数据: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
获取hash表中所有的字段值:hkeys key
获取hash表中所有的字段值:hvals key
设置指定字段的数值增加指定范围的值:hincrby key field increment | hincrbyfloat key field increment
此图来源于网络非自制,只是模拟购物车场景
在上图中,我们可以看到购物车里的信息,下来咱们使用redis来对这个购物车的实现。
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 # 如果存在则不能设置