我想在两个请求之间批量处理python dict对象。我想知道最好的方法是什么。
我想这样做,因为我的字数很大,我不能在30年代完成整个处理。
感谢
答案 0 :(得分:4)
您可以序列化您的对象(可能使用pickle,但如果您的对象的性质受到良好约束,可能会有更有效和特定的方法)并将序列化的字节字符串保存到数据存储区并{{3} (我不建议使用只是内存缓存,因为偶尔可能会发生缓存在两个请求之间“刷新” - 在这种情况下,你绝对是希望能够从数据存储区中获取序列化的字节字符串!)。
如果你传递了原始对象,那么 memcache
会为你挑选 - 但是,既然你需要序列化的字符串来把它放在数据存储区中,我认为你最好自己进行显式序列化。一旦你memcache.add
一个字符串,后者被腌制(后来在检索时被取消)的事实并不是什么大问题 - 时间和空间的开销实际上非常适度。
这种方法有一些限制 - 例如,每个键不能记忆超过1MB,所以如果你的对象真的很大,你需要将序列化的字节串分成多个键(并且对于多个这样的键)兆字节切片,事情变得非常笨拙。)
当然,第一个和第二个请求必须“同意”用于序列化数据的存储和检索的密钥 - 即必须有一种简单的方法来获得该密钥而不会产生混淆(例如,它可能基于当前用户的名称。)