我正在尝试将 Flask 线程中的所有用户变量存储在 Redis 缓存中。我在
pickle.dumps
函数中遇到异常:
r = redis.Redis(host='localhost', port=6379, db=0)
locals_dict = {}
locals_list = locals().copy()
for local in locals_list:
locals_dict[local] = eval(local)
serialized_object = pickle.dumps(locals_dict) # <-- fails here
r.set('local_vars', serialized_object)
File "/code/app2/python/run_python.py", line 111, in run_exec
serialized_object = pickle.dumps(locals_dict)
TypeError: cannot pickle '_thread.lock' object
这是什么错误以及如何将变量字典保存在 Redis 缓存中?