MST

星途 面试题库

面试题:Python中Redis缓存机制实现之复杂数据结构处理

假设你需要在Python的Redis缓存中存储一个列表数据结构,该列表包含多个字典,每个字典有不同的键值对。如何实现这种复杂数据结构的存储和读取?请详细说明思路并给出代码示例。
12.7万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

存储思路

  1. 将列表数据结构进行序列化,因为Redis通常存储字符串类型的数据。在Python中,可以使用json模块将列表(其中包含字典)转换为JSON字符串。
  2. 使用Redis的SET命令将序列化后的字符串存储到Redis中。

读取思路

  1. 从Redis中使用GET命令获取存储的字符串。
  2. 将获取到的字符串反序列化,使用json模块将JSON字符串转换回Python的列表数据结构。

代码示例

import redis
import json

# 连接Redis
r = redis.Redis(host='localhost', port=6379, db=0)

# 要存储的列表数据,其中包含多个字典
data = [
    {'name': 'Alice', 'age': 25},
    {'name': 'Bob', 'age': 30}
]

# 序列化数据
serialized_data = json.dumps(data)

# 存储到Redis
r.set('my_list', serialized_data)

# 从Redis读取数据
retrieved_data = r.get('my_list')

# 反序列化数据
if retrieved_data:
    deserialized_data = json.loads(retrieved_data)
    print(deserialized_data)