Redis hash 是一个键值对集合(类似字典)
HSET命令:
HSET dict1 field1 value1 field2 value2 ...
将dict1中的域field值设置为value,
如果dict1不存在,一个新的哈希表将被创建进行HSET操作,
如果filed已经存在于哈希表中,旧值将被覆盖。
HSET等同于HMSET
返回值:
如果字段是哈希表中的一个新建字段,并且值设置成功,返回 1 。
如果哈希表中域字段已经存在且旧值已被新值覆盖,返回 0 。
hget命令:
HGET dict1 field
返回dict1中指定域field的值,
如果field不存在,返回nil
hdel命令:
hdel key field1 [field2]
删除一个或多个哈希表字段
hmget命令:
HMGET dict1 field1 field2 field3...
返回dict1中指定多个域field1 field2 field3的值,
如果field不存在,
hgetall命令:
HGETALL dict1
返回dict1中所有域field和value的值
hkeys命令:
HKEYS dict1
返回dict1中所有域field的值
hvals命令:
HVALS dict1
返回dict1中所有value的值
hexists命令:
HEXISTS dict1 field
判断hash表dict1中域field是否存在,存在返回1,不存在返回0
hlen命令:
HLEN dict1
返回hash表dict1中域的数量
举例:
hset dict1 name xiaohu age 18 sex famel
结果:(integer) 3
hget dict1 name
结果:"xiaohu"
hget dict1 name1
结果:(nil)
hmget dict1 name age sex
结果:
1) "xiaohu"
2) "18"
3) "famel"
hgetall dict1
结果:
1) "name"
2) "xiaohu"
3) "age"
4) "18"
5) "sex"
6) "famel"
hkeys dict1
结果:
1) "name"
2) "age"
3) "sex"
hvals dict1
结果:
1) "xiaohu"
2) "18"
3) "famel"
hexists dict1 name
结果:
(integer) 1
hexists dict1 name1
结果:
(integer) 0
hlen dict1
结果:
(integer) 3
hdel key field1 [field2]
删除一个或多个哈希表字段
hdel dict1 name
删除哈希表的name字段
hgetall dict1
结果:
3) "age"
4) "18"
5) "sex"
6) "famel"
value = json.dumps(account)
cmd = 'redis-cli -h {0} -p 6379 -c hset {1} {2} {3}'.format(node,put_key,field,"'"+value+"'")
stdin, stdout, stderr = self.client.exec_command(cmd)
print(stdout.read().decode('utf-8'))
命令行对hash设置json对象的值
{
"accountRights": 0,
"available": 0,
"dayRealisedPnl": 0,
"leverage": 0
}
网友评论