在appengine上腌制一个物体

时间:2011-05-03 07:34:19

标签: python google-app-engine pickle

我有一个__init__过程的对象,至少需要一个参数和

我想存储在缓存中。

当尝试从缓存中获取对象时,我得到一个错误,即我没有将足够的参数传递给___init___方法。

有人告诉我,我需要在将对象发送到缓存之前对其进行挑选,但我看到的所有示例都使用.dat文件,而在appengine上你不能使用任何文件系统。

2 个答案:

答案 0 :(得分:3)

你可以使用pickle.loads / pickle.dumps来使用没有任何文件系统的pickle。例如:

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 :)

答案 1 :(得分:0)

我认为你正在尝试在appengine中使用memcache。这个博客将为您提供很多帮助

http://blog.notdot.net/2009/9/Efficient-model-memcaching