美文网首页
Redis的hash操作

Redis的hash操作

作者: Chaweys | 来源:发表于2021-08-24 00:17 被阅读0次

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
}

相关文章

网友评论

      本文标题:Redis的hash操作

      本文链接:https://www.haomeiwen.com/subject/curhiltx.html