如何在Redis中存储复杂的对象(使用redis-py)
hmset函数可以设置每个字段的值,但是我发现,如果值本身是一个复杂的结构化对象,则从hget返回的值是一个序列化的字符串,而不是原始对象
例如
images= [{'type':'big', 'url':'....'}, {'type':'big', 'url':'....'},
{'type':'big', 'url':'....'}]
redis = Redis()
redis.hset('photo:1', 'images', images)
i = redis.hget('photo:1', 'images')
print type(i)
i的类型是字符串,而不是python对象,除了手动解析每个字段外,还有什么方法可以解决此问题?
回答:
您无法在Redis中创建嵌套结构,这意味着您无法(例如)在本地Redis哈希图中存储本地Redis列表。
如果确实需要嵌套结构,则可能只想存储JSON-blob(或类似的东西)。另一种选择是将“ id”
/密钥存储到另一个redis对象作为映射密钥的值,但这需要多次调用服务器才能获取完整的对象。
以上是 如何在Redis中存储复杂的对象(使用redis-py) 的全部内容, 来源链接: utcz.com/qa/430016.html