【Redis】RCMD 03 Hash 哈希
1、直接写入 (覆盖写入)
语法 HSET 键 字段 值
很像对象,也像Map,键是对象的引用,而字段又是属性的引用,值属于XX键的XX值
其实就很像这个了 值 = 对象 . 属性
样例:
127.0.0.1:6379[12]> HSET jojo name jotaro (integer) 1 127.0.0.1:6379[12]> HSET jojo standard star-platium (integer) 1 127.0.0.1:6379[12]> HSET jojo gender male (integer) 1 127.0.0.1:6379[12]> HSET jojo age 17 (integer) 1 127.0.0.1:6379[12]>
先判断字段是否存在再写入
HSETNX 键 字段 值
name字段已存在不可覆写
127.0.0.1:6379[12]> HSETNX jojo name joseph (integer) 0 127.0.0.1:6379[12]>
单个读取
HGET 键 字段
替身是?
127.0.0.1:6379[12]> HGET jojo standard "star-platium" 127.0.0.1:6379[12]>
哈希 多 - 读 - 多 - 写
HMSET 键 字段1 值1 字段2 值2 字段3 值3 ...
HMGET 键 字段1 字段2 字段3 ...
读取该键所有的字段 + 值:
127.0.0.1:6379[12]> HGETALL jojo 1) "name" 2) "jotaro" 3) "standard" 4) "star-platium" 5) "gender" 6) "male" 7) "age" 8) "17" 127.0.0.1:6379[12]>
只获取所有字段:
127.0.0.1:6379[12]> HKEYS jojo 1) "name" 2) "standard" 3) "gender" 4) "age" 127.0.0.1:6379[12]>
只获取所有值:
127.0.0.1:6379[12]> HVALS jojo 1) "jotaro" 2) "star-platium" 3) "male" 4) "17" 127.0.0.1:6379[12]>
删除字段:
127.0.0.1:6379[12]> HDEL jojo standard (integer) 1 127.0.0.1:6379[12]>
支持多字段同时删除
HDEL 键 字段1 字段2 字段3 ...
字段是否存在:
HEXISTS 键 字段
替身没了
127.0.0.1:6379> HEXISTS jojo standard (integer) 0 127.0.0.1:6379>
获取字段个数:
127.0.0.1:6379[12]> HLEN jojo (integer) 3
计数命令
提示:哈希的计数仅一个命令实现 HINCRBY
强制要求提供步长参数,如果要实现计数减少操作,使用负数步长实现
127.0.0.1:6379> HSET jojo power 100 (integer) 1 127.0.0.1:6379> HINCRBY jojo power 50 (integer) 150 127.0.0.1:6379> HINCRBY jojo power -120 (integer) 30 127.0.0.1:6379>
另外还支持浮点计数
127.0.0.1:6379> HINCRBYFLOAT jojo power 0.15 "30.149999999999999"
但是是一个近似值处理,并没什么用。。。

浙公网安备 33010602011771号