Redis基本操作命令学习之六对hash(有序集合类型)数据操作命令

之前已经学习过redis的String、Set、Zset、list类型的操作命令,今天记录一下学习hash类型的操作命令:

1. 新增数据( hset key field value / hmset key field1 value1 [ field2 value2 …] )

hset 命令每次新增一个字段值;
hmset可以批量新增多个字段值;
key不用多说吧,每个都必须有key值;
filed、value 相当于java实体类中的属性和属性对应的值 或者类似java中HashMap中存的key值和value值;

> hset hkey dept_name 骨科
(integer) 1
> hmset hkey id 1 name XiaoMing age 22
OK
2. 查询数据( hgetall key / hkeys key / hvals key / hget key field / hmget key field1 field2 …)

hgetall 命令返回某个key中所有的field和value值;
hkeys 命令返回key中所有的field,类似就是java中返回HashMap中的所有key值;
hvals 命令返回所有的value值,类似就是java中返回HashMap中的所有value值;
hget 命令根据指定的field去查询对应的value值,类似HashMap的map.get(“key”)方法;
hmget 命令返回多个field对应的value值;

> hgetall hkey         # 返回所有的field 和value值
    1) "id"
    2) "1"
    3) "name"
    4) "XiaoMing"
    5) "age"
    6) "22"
    7) "dept_name"
    8) "骨科"
> hkeys hkey       # 返回所有的field值
    1) "id"
    2) "name"
    3) "age"
    4) "dept_name"
> hvals hkey       # 返回所有的value值
    1) "1"
    2) "XiaoMing"
    3) "22"
    4) "骨科"
> hget hkey id     # 根据指定的某个field去查询
	"1"
> hmget hkey id name   # 根据指定的多个field去查询
	1) "1"
	2) "XiaoMing"
3. 删除数据( hdel key field )

根据指定的field删除key中的某个值,并不是根据value值删除

> hdel hkey dept_name
    (integer) 1
> hkeys hkey       # 在此获取全部field,可以看到dept_name已经被删除掉了
	1) "id"
	2) "name"
	3) "age"
4. 判断某个fied是否存在( hexists key field )
> hexists hkey age     # age存在返回1
  (integer) 1
> hexists hkey city    # city不存在返回0
  (integer) 0
5. value值加减 ( hincrby key field num / hincrbyfloat key field num )

hincrby 命令:当value值为整数类型时可以进行加减;
hincrbyfloat 命令当value值为浮点类型时可以进行加减操作;

> hincrby hkey age 5      # age 原来是22,加5后变为27
 (integer) 27
> hincrby hkey age -7     # age 减 7, 27-7 =20
 (integer) 20
> hincrby hkey age 5.5    # age是整数类型无法与浮点类型的数据进行加减,所以会报错
 (error) ERR value is not an integer or out of range
> hincrby hkey name 6     # name对应的值是String类型无法进行加减操作,所以会报错
 (error) ERR hash value is not an integer
> hset hkey heat 31.7     # 我们新增一个值来测试
 (integer) 1
> hincrbyfloat hkey heat 5  # 加5,  31.7+5= 36.7
 36.7
> hincrbyfloat hkey heat -9  # 减9, 36.7-9=27.7
 27.7
> hincrbyfloat hkey heat 5.6
 33.3
> hincrbyfloat hkey heat -2.3
 31.0
6. 返回某个key的元素个数( hlen key )
> hlen hkey
 4
7. 把key从redis中删除掉( del key )
> del hkey      #  已经将key从redis中删除了,返回删除的个数
  (integer) 1
> keys *        # 查看redis中所有的key,发现已经没有任何key了
  (empty list or set)

总结:redis的这5中数据类型的操作命令也是围绕对数据的增删改查( CRUD )来进行的,我们在总结记忆是可以对所有命令按照 增删改查 进行划分,这样方便记忆;

你可能感兴趣的:(Redis,redis基础命令,redis命令,hash类型)