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对象作为映射密钥的值,但这需要多次调用服务器才能获取完整的对象。