我正在通过django
作为drf
应用程序运行gunicorn
API(wsgi
)。
API正在处理需要从系统内存(ram
)中清除的敏感信息(密码和其他机密)。我的理解是,将使用常规引用计数机制来垃圾收集API请求中的所有数据:一旦处理了请求并且gunicorn收到了回复,就不再存在对该请求的引用,因此将完全被垃圾回收收集。
这同样适用于在请求处理期间创建的任何对象:在处理完请求后,将删除对该对象的所有引用。
打破这一假设的唯一方法是,如果我执行以下任一操作:
对于2
,gc
模块将能够检测引用并将其删除。我什至可以使用gc.collect()
只需注意不要将引用存储在全局对象中,就可以避免第一个问题。
我有两个问题:
gc.collect()
中的请求处理结束时强制运行垃圾回收(gunicorn
)?