正如其他人已经给出的基本答案一样,我想补充一下。
以下是REDIS
使用HashMap/Dictionary/Mapping
类型值执行基本操作的命令。
- HGET =>返回传递的单个键的值
- HSET =>设置/更新单个键的值
- HMGET =>返回传递的单个/多个键的值
- HMSET =>设置/更新多重键的值
- HGETALL =>返回映射中的所有(键,值)对。
以下是它们在redis-py
库中的各自方法:
- HGET => hget
- HSET => hset
- HMGET => hmget
- HMSET => hmset
- HGETALL => hgetall
如果不存在映射,则上述所有setter方法都会创建该映射。如果映射中的映射/键不存在,则上述所有getter方法都不会引发错误/异常。
Example:
=======
In [98]: import redis
In [99]: conn = redis.Redis('localhost')
In [100]: user = {"Name":"Pradeep", "Company":"SCTL", "Address":"Mumbai", "Location":"RCP"}
In [101]: con.hmset("pythonDict", {"Location": "Ahmedabad"})
Out[101]: True
In [102]: con.hgetall("pythonDict")
Out[102]:
{b'Address': b'Mumbai',
b'Company': b'SCTL',
b'Last Name': b'Rajpurohit',
b'Location': b'Ahmedabad',
b'Name': b'Mangu Singh'}
In [103]: con.hmset("pythonDict", {"Location": "Ahmedabad", "Company": ["A/C Pri
...: sm", "ECW", "Musikaar"]})
Out[103]: True
In [104]: con.hgetall("pythonDict")
Out[104]:
{b'Address': b'Mumbai',
b'Company': b"['A/C Prism', 'ECW', 'Musikaar']",
b'Last Name': b'Rajpurohit',
b'Location': b'Ahmedabad',
b'Name': b'Mangu Singh'}
In [105]: con.hget("pythonDict", "Name")
Out[105]: b'Mangu Singh'
In [106]: con.hmget("pythonDict", "Name", "Location")
Out[106]: [b'Mangu Singh', b'Ahmedabad']
我希望,这会使事情变得更清楚。
json.dumps()
写为字符串,并从redis用户检索json.loads()
以反序列化回python数据结构后