在App Engine上序列化对象
我有一个对象,它的 __init__
方法需要至少一个参数。
我想把这个对象存到缓存里。
但是,当我尝试从缓存中获取这个对象时,出现了一个错误,提示我没有给 ___init___
方法传足够的参数。
有人告诉我,我需要在把对象发送到缓存之前先对它进行“序列化”,但我看到的所有例子都是用 .dat 文件,而在 appengine 上是不能使用任何文件系统的。
2 个回答
0
我觉得你是在尝试在App Engine中使用memcache。这个博客对你会很有帮助。
3
你可以在不需要文件系统的情况下使用pickle,直接用pickle.loads和pickle.dumps。比如:
import pickle
obj = YourClass(yourparam=...)
data = pickle.dumps(obj)
# and now, store "data" into the cache
# later, get "data" from the cache
obj = pickle.loads(data)
# and tada, obj if the same as before :)