跳转到主要内容

高效清除数据库中的过期会话。

项目描述

默认情况下,Django的cached_dbdb会话后端会遍历已删除的会话以触发预/后删除信号处理器。这可能会非常慢,并在具有大量会话的网站上消耗大量CPU和内存。

此包提供了一个SessionStoreMixin类和替代的cached_dbdb后端,它们使用私有的_raw_delete()方法,这要快得多,并且消耗的CPU和内存更少,但不会触发预/后删除信号处理器。

用法

添加到您的设置中

SESSION_ENGINE = 'django_raw_clearsessions.cached_db'

SESSION_ENGINE = 'django_raw_clearsessions.db'

# mybackend.py
from some.package import some_backend
from django_raw_clearsessions import SessionStoreMixin


class SessionStore(SessionStoreMixin, some_backend.SessionStore):
    pass

# settings.py
SESSION_ENGINE = 'mybackend'

执行Django clearsessions 管理命令

$ python manage.py clearsessions

支持者