(基本知识)Redis 哈希(Hash)相关命令函数
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象
1. Hdel :用于删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略 返回被成功删除字段的数量,不包括被忽略的字段
127.0.0.1:6379> hset aa ty 852 (integer) 1 127.0.0.1:6379> hget aa ty "852" 127.0.0.1:6379> hdel aa ty (integer) 1 127.0.0.1:6379> hget aa ty (nil) 127.0.0.1:6379>
2.Hexists :用于查看哈希表的指定字段是否存在 成功返回1 否则返回0
127.0.0.1:6379> hset aa ty 963 (integer) 1 127.0.0.1:6379> hget aa ty "963" 127.0.0.1:6379> hexists aa ty (integer) 1 127.0.0.1:6379>
3.Hget :用于返回哈希表中指定字段的值 存在返回值 否则返回nil
127.0.0.1:6379> hget aa ty "963" 127.0.0.1:6379> hget aa tu (nil) 127.0.0.1:6379>
4.Hgetall 命令用于返回哈希表中,所有的字段和值 存在返回值 否则返回空列表
127.0.0.1:6379> hget aa ty "963" 127.0.0.1:6379> hset aa tr 845 (integer) 1 127.0.0.1:6379> hgetall aa 1) "ty" 2) "963" 3) "tr" 4) "845" 127.0.0.1:6379>
5.Hincrby :用于为哈希表中的字段值加上指定增量值,增量可以是负数
127.0.0.1:6379> hset aa ws 4 (integer) 1 127.0.0.1:6379> hincrby aa ws 5 (integer) 9 127.0.0.1:6379>
6.Hincrbyfloat :用于为哈希表中的字段值加上指定浮点数增量值 如果指定的字段不存在,那么在执行命令前,字段的值被初始化为 0
127.0.0.1:6379> hset sd tg 5.5 (integer) 1 127.0.0.1:6379> hincrbyfloat sd tg 5.6 "11.1" 127.0.0.1:6379>
7.Hkeys :用于获取哈希表中的所有域(field)
127.0.0.1:6379> hkeys aa 1) "ty" 2) "tr" 3) "ws" 127.0.0.1:6379>
8.Hlen 命令用于获取哈希表中字段的数量
127.0.0.1:6379> hlen aa (integer) 3 127.0.0.1:6379>
9.Hmget :用于返回哈希表中,一个或多个给定字段的值 指定多个field
127.0.0.1:6379> hmget aa ws ty 1) "9" 2) "963" 127.0.0.1:6379>
10.Hmset :用于同时将多个 field-value (字段-值)对设置到哈希表中
127.0.0.1:6379> hmset bb b1 123 b2 456 b3 789 OK 127.0.0.1:6379> hmget bb b1 b2 b3 1) "123" 2) "456" 3) "789" 127.0.0.1:6379>
11.Hset :用于为哈希表中的字段赋值 如果字段已经存在于哈希表中,旧值将被覆盖
127.0.0.1:6379> hset mm p1 741 (integer) 1 127.0.0.1:6379> hset mm p1 'liusanjie' (integer) 0 127.0.0.1:6379> hget mm p1 "liusanjie" 127.0.0.1:6379>
12.Hsetnx 命令用于为哈希表中不存在的的字段赋值 如果字段已经存在于哈希表中,操作无效 返回0
127.0.0.1:6379> hsetnx km p2 852 (integer) 1 127.0.0.1:6379> hsetnx km p2 963 (integer) 0 127.0.0.1:6379> hget km p2 "852" 127.0.0.1:6379>
13.Hvals :返回哈希表所有域(field)的值
127.0.0.1:6379> hvals km 1) "852" 127.0.0.1:6379> hvals aa 1) "963" 2) "845" 3) "9" 127.0.0.1:6379>