python会将所有字符串存储在athene_pool中并且永远不会释放它们,所以最近大文字处理困扰了我。 我将文章内容保存到redis,并从redisclient中获取它们,并将它们发送到http response.虽然序列化可能会导致太多内存,有什么好主意可以解决这样的问题吗? 我想知道django是否产生了太多的响应,它如何释放它们以保持低内存?
答案 0 :(得分:1)
Python不会汇集所有字符串,请参阅Are strings pooled in Python。
例如,这个10K字符串不是合并的:
>>> a = '5' * 10000
>>> b = '5' * 10000
>>> a is b
False
但是短的5个字符的字符串是汇集的:
>>> a = '5' * 5
>>> b = '5' * 5
>>> a is b
True
Ergo:您不必担心长字符串在内存中保留的时间超过必要的时间。