当前位置:  开发笔记 > 编程语言 > 正文

如何在Google AppEngine上以字节为单位获取python对象的大小?

如何解决《如何在GoogleAppEngine上以字节为单位获取python对象的大小?》经验,为你挑选了1个好方法。

我需要计算一些python对象的大小,所以我可以将它们分解并将它们存储在memcache中而不会达到大小限制.

' sizeof()'似乎不存在于GAE环境中的python对象上,并且sys.getsizeof()也不可用.

GAE本身清楚地检查幕后的大小以强制执行限制.有关如何实现这一目标的任何想法?谢谢.



1> Alex Martell..:

memcache内部并且总是使用pickle和存储结果字符串,因此您可以查看len(pickle.dumps(yourobject, -1)).请注意,sys.getsizeof(需要2.6或更高版本,这就是GAE上缺少的原因)根本不会对您有所帮助:

>>> import sys
>>> sys.getsizeof(23)
12
>>> import pickle
>>> len(pickle.dumps(23, -1))
5

因为你可以看到,对象的序列化泡菜的大小可能与内存中对象的大小完全不同(所以我猜你应该感谢GAE 提供sizeof,这会让你误入歧途; - ).

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有