一、介紹
Redis hash是一個string類型的field和value的映射表,hash特別設於用於存儲對象。
Redis中每個hash可以存儲232 - 1 鍵值對(40多億)。
基本命令:
- 添加/更新:
hset key field value (將hash表key中的字段field的值設為value)
hsetnv key field value (只有在字段field不存在時,設置hash表字段的值)
hmset key field1 value1 [field2 value2 ...] (同時將多個fiedl-value(域-值)對設置到hash表key中)
hsetnx key field value (只有在字段field不存在時,設置hash表字段的值)
- 查詢:
hkeys key (獲取所有hash表中的字段)
hvals key (獲取hash表中所有的值)
hlen key (獲取hash表中的字段數量)
hgetall key (獲取hash表中指定key的所有字段和值)
hget key field (獲取存儲在hash表中指定字段的值)
hmget key field1 [field2 ...] (獲取所有給定字段的值)
- 刪除:
hdel key field [field2 ...] (刪除一個或多個hash表字段)
- 判斷:
hexists key field (查看hash表key中,指定的字段是否存在(1: 存在, 0: 不存在))
- 數值:
hincrby key field increment (為hash表key中的指定字段的整數值上增量increment)
hincrbyfloat key field incremnent (為hash表key中的指定字段的浮點數值加上增量increment)
二、操作
- 添加/更新:
1、hset key field value (將hash表key中的字段field的值設為value)
2、hsetnv key field value (只有在字段field不存在時,設置hash表字段的值)
字段如果已存在,設置的時候失敗返回0;成功返回1
3、hmset key field1 value1 [field2 value2 ...] (同時將多個fiedl-value(域-值)對設置到hash表key中)
- 查詢:
1、hkeys key (獲取所有hash表中的字段)
2、hvals key (獲取hash表中所有的值)
3、hlen key (獲取hash表中的字段數量)
4、hgetall key (獲取hash表中指定key的所有字段和值)
5、hget key field (獲取存儲在hash表中指定字段的值)
6、hmget key field1 [field2 ...] (獲取所有給定字段的值)
如果給定的字段不存在的話,返回(nil)
- 刪除:
1、hdel key field [field2 ...] (刪除一個或多個hash表字段)
- 判斷:
1、hexists key field (查看hash表key中,指定的字段是否存在(1: 存在, 0: 不存在))
- 數值:
1、hincrby key field increment (為hash表key中的指定字段的整數值上增量increment)
hash2 的 age字段 值為20,接下增加10
變成30